diff options
Diffstat (limited to 'drivers/net/ethernet/ibm/ibmvnic.c')
-rw-r--r-- | drivers/net/ethernet/ibm/ibmvnic.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index 864cb21351a4..ecdb6854a898 100644 --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm/ibmvnic.c | |||
@@ -2121,7 +2121,7 @@ static void handle_error_info_rsp(union ibmvnic_crq *crq, | |||
2121 | struct ibmvnic_adapter *adapter) | 2121 | struct ibmvnic_adapter *adapter) |
2122 | { | 2122 | { |
2123 | struct device *dev = &adapter->vdev->dev; | 2123 | struct device *dev = &adapter->vdev->dev; |
2124 | struct ibmvnic_error_buff *error_buff; | 2124 | struct ibmvnic_error_buff *error_buff, *tmp; |
2125 | unsigned long flags; | 2125 | unsigned long flags; |
2126 | bool found = false; | 2126 | bool found = false; |
2127 | int i; | 2127 | int i; |
@@ -2133,7 +2133,7 @@ static void handle_error_info_rsp(union ibmvnic_crq *crq, | |||
2133 | } | 2133 | } |
2134 | 2134 | ||
2135 | spin_lock_irqsave(&adapter->error_list_lock, flags); | 2135 | spin_lock_irqsave(&adapter->error_list_lock, flags); |
2136 | list_for_each_entry(error_buff, &adapter->errors, list) | 2136 | list_for_each_entry_safe(error_buff, tmp, &adapter->errors, list) |
2137 | if (error_buff->error_id == crq->request_error_rsp.error_id) { | 2137 | if (error_buff->error_id == crq->request_error_rsp.error_id) { |
2138 | found = true; | 2138 | found = true; |
2139 | list_del(&error_buff->list); | 2139 | list_del(&error_buff->list); |
@@ -3141,14 +3141,14 @@ static void handle_request_ras_comp_num_rsp(union ibmvnic_crq *crq, | |||
3141 | 3141 | ||
3142 | static void ibmvnic_free_inflight(struct ibmvnic_adapter *adapter) | 3142 | static void ibmvnic_free_inflight(struct ibmvnic_adapter *adapter) |
3143 | { | 3143 | { |
3144 | struct ibmvnic_inflight_cmd *inflight_cmd; | 3144 | struct ibmvnic_inflight_cmd *inflight_cmd, *tmp1; |
3145 | struct device *dev = &adapter->vdev->dev; | 3145 | struct device *dev = &adapter->vdev->dev; |
3146 | struct ibmvnic_error_buff *error_buff; | 3146 | struct ibmvnic_error_buff *error_buff, *tmp2; |
3147 | unsigned long flags; | 3147 | unsigned long flags; |
3148 | unsigned long flags2; | 3148 | unsigned long flags2; |
3149 | 3149 | ||
3150 | spin_lock_irqsave(&adapter->inflight_lock, flags); | 3150 | spin_lock_irqsave(&adapter->inflight_lock, flags); |
3151 | list_for_each_entry(inflight_cmd, &adapter->inflight, list) { | 3151 | list_for_each_entry_safe(inflight_cmd, tmp1, &adapter->inflight, list) { |
3152 | switch (inflight_cmd->crq.generic.cmd) { | 3152 | switch (inflight_cmd->crq.generic.cmd) { |
3153 | case LOGIN: | 3153 | case LOGIN: |
3154 | dma_unmap_single(dev, adapter->login_buf_token, | 3154 | dma_unmap_single(dev, adapter->login_buf_token, |
@@ -3165,8 +3165,8 @@ static void ibmvnic_free_inflight(struct ibmvnic_adapter *adapter) | |||
3165 | break; | 3165 | break; |
3166 | case REQUEST_ERROR_INFO: | 3166 | case REQUEST_ERROR_INFO: |
3167 | spin_lock_irqsave(&adapter->error_list_lock, flags2); | 3167 | spin_lock_irqsave(&adapter->error_list_lock, flags2); |
3168 | list_for_each_entry(error_buff, &adapter->errors, | 3168 | list_for_each_entry_safe(error_buff, tmp2, |
3169 | list) { | 3169 | &adapter->errors, list) { |
3170 | dma_unmap_single(dev, error_buff->dma, | 3170 | dma_unmap_single(dev, error_buff->dma, |
3171 | error_buff->len, | 3171 | error_buff->len, |
3172 | DMA_FROM_DEVICE); | 3172 | DMA_FROM_DEVICE); |