aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/ibm/ibmvnic.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2016-06-30 05:03:36 -0400
committerDavid S. Miller <davem@davemloft.net>2016-06-30 05:03:36 -0400
commitee58b57100ca953da7320c285315a95db2f7053d (patch)
tree77b815a31240adc4d6326346908137fc6c2c3a96 /drivers/net/ethernet/ibm/ibmvnic.c
parent6f30e8b022c8e3a722928ddb1a2ae0be852fcc0e (diff)
parente7bdea7750eb2a64aea4a08fa5c0a31719c8155d (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Several cases of overlapping changes, except the packet scheduler conflicts which deal with the addition of the free list parameter to qdisc_enqueue(). Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/ibm/ibmvnic.c')
-rw-r--r--drivers/net/ethernet/ibm/ibmvnic.c14
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
3142static void ibmvnic_free_inflight(struct ibmvnic_adapter *adapter) 3142static 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);