Hi all, Today's linux-next merge of the net-next tree got conflicts in: drivers/net/ethernet/ibm/ibmvnic.c drivers/net/ethernet/ibm/ibmvnic.h between commit: 4a41c421f367 ("ibmvnic: serialize access to work queue on remove") from the net tree and commits: bab08bedcdc3 ("ibmvnic: fix block comments") a369d96ca554 ("ibmvnic: add comments for spinlock_t definitions") from the net-next tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/net/ethernet/ibm/ibmvnic.c index 13ae7eee7ef5,927d5f36d308..000000000000 --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm/ibmvnic.c @@@ -2395,10 -2288,7 +2294,9 @@@ static int ibmvnic_reset(struct ibmvnic unsigned long flags; int ret; + spin_lock_irqsave(&adapter->rwi_lock, flags); + - /* - * If failover is pending don't schedule any other reset. + /* 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 --cc drivers/net/ethernet/ibm/ibmvnic.h index 72fea3b1c87d,270d1cac86a4..000000000000 --- a/drivers/net/ethernet/ibm/ibmvnic.h +++ b/drivers/net/ethernet/ibm/ibmvnic.h @@@ -1080,10 -1081,12 +1081,16 @@@ 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; unsigned long resetting;