summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/ibm
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2021-02-16 22:58:44 -0800
committerJakub Kicinski <kuba@kernel.org>2021-02-16 23:12:23 -0800
commitb646acd5eb48ec49ef90404336d7e8ee502ecd05 (patch)
treecf6859bd3c44bc865f3248810d66a165bd757f8f /drivers/net/ethernet/ibm
parentd489ded1a3690d7eca8633575cba3f7dac8484c7 (diff)
net: re-solve some conflicts after net -> net-next merge
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/ibm')
-rw-r--r--drivers/net/ethernet/ibm/ibmvnic.c5
-rw-r--r--drivers/net/ethernet/ibm/ibmvnic.h10
2 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c
index 5cf7e5a367f0..1c0e4beb56e7 100644
--- a/drivers/net/ethernet/ibm/ibmvnic.c
+++ b/drivers/net/ethernet/ibm/ibmvnic.c
@@ -2294,8 +2294,9 @@ static int ibmvnic_reset(struct ibmvnic_adapter *adapter,
unsigned long flags;
int ret;
- /*
- * If failover is pending don't schedule any other reset.
+ spin_lock_irqsave(&adapter->rwi_lock, flags);
+
+ /* If failover is pending don't schedule any other reset.
* Instead let the failover complete. If there is already a
* a failover reset scheduled, we will detect and drop the
* duplicate reset when walking the ->rwi_list below.
diff --git a/drivers/net/ethernet/ibm/ibmvnic.h b/drivers/net/ethernet/ibm/ibmvnic.h
index e4dcc63b9710..806aa75a4e86 100644
--- a/drivers/net/ethernet/ibm/ibmvnic.h
+++ b/drivers/net/ethernet/ibm/ibmvnic.h
@@ -1081,13 +1081,15 @@ struct ibmvnic_adapter {
struct tasklet_struct tasklet;
enum vnic_state state;
- /* Used for serializatin of state field */
+ /* Used for serialization of state field. When taking both state
+ * and rwi locks, take state lock first.
+ */
spinlock_t state_lock;
enum ibmvnic_reset_reason reset_reason;
- /* when taking both state and rwi locks, take state lock first */
- spinlock_t rwi_lock;
struct list_head rwi_list;
- /* Used for serialization of rwi_list */
+ /* Used for serialization of rwi_list. When taking both state
+ * and rwi locks, take state lock first
+ */
spinlock_t rwi_lock;
struct work_struct ibmvnic_reset;
struct delayed_work ibmvnic_delayed_reset;