aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/qlogic
diff options
context:
space:
mode:
authorWei Yongjun <weiyongjun1@huawei.com>2016-10-10 10:08:28 -0400
committerDavid S. Miller <davem@davemloft.net>2016-10-13 09:57:10 -0400
commit88a2428b83db4328e69d1c0e2f7364041b8045bf (patch)
treeaa5a79a3555a52c5e01aa5c591cde12dc045c153 /drivers/net/ethernet/qlogic
parent1e09c106a44c2b2685a77a1ef27951381c9fcd23 (diff)
qed: Fix to use list_for_each_entry_safe() when delete items
Since we will remove items off the list using list_del() we need to use a safe version of the list_for_each_entry() macro aptly named list_for_each_entry_safe(). Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Acked-by: Yuval Mintz <Yuval.Mintz@caviumnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/qlogic')
-rw-r--r--drivers/net/ethernet/qlogic/qed/qed_ll2.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/qlogic/qed/qed_ll2.c b/drivers/net/ethernet/qlogic/qed/qed_ll2.c
index a6db10717d5c..02a8be2faed7 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_ll2.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_ll2.c
@@ -1517,7 +1517,7 @@ static void qed_ll2_register_cb_ops(struct qed_dev *cdev,
1517static int qed_ll2_start(struct qed_dev *cdev, struct qed_ll2_params *params) 1517static int qed_ll2_start(struct qed_dev *cdev, struct qed_ll2_params *params)
1518{ 1518{
1519 struct qed_ll2_info ll2_info; 1519 struct qed_ll2_info ll2_info;
1520 struct qed_ll2_buffer *buffer; 1520 struct qed_ll2_buffer *buffer, *tmp_buffer;
1521 enum qed_ll2_conn_type conn_type; 1521 enum qed_ll2_conn_type conn_type;
1522 struct qed_ptt *p_ptt; 1522 struct qed_ptt *p_ptt;
1523 int rc, i; 1523 int rc, i;
@@ -1587,7 +1587,7 @@ static int qed_ll2_start(struct qed_dev *cdev, struct qed_ll2_params *params)
1587 1587
1588 /* Post all Rx buffers to FW */ 1588 /* Post all Rx buffers to FW */
1589 spin_lock_bh(&cdev->ll2->lock); 1589 spin_lock_bh(&cdev->ll2->lock);
1590 list_for_each_entry(buffer, &cdev->ll2->list, list) { 1590 list_for_each_entry_safe(buffer, tmp_buffer, &cdev->ll2->list, list) {
1591 rc = qed_ll2_post_rx_buffer(QED_LEADING_HWFN(cdev), 1591 rc = qed_ll2_post_rx_buffer(QED_LEADING_HWFN(cdev),
1592 cdev->ll2->handle, 1592 cdev->ll2->handle,
1593 buffer->phys_addr, 0, buffer, 1); 1593 buffer->phys_addr, 0, buffer, 1);