On Mon, Mar 12, 2018 at 02:19:52PM -0500, John Allen wrote: > If the driver is already in the "open" state, don't attempt the procedure > for opening the driver. > > Signed-off-by: John Allen <jal...@linux.vnet.ibm.com> > --- > v2: Unlock reset_lock mutex before returning. > > diff --git a/drivers/net/ethernet/ibm/ibmvnic.c > b/drivers/net/ethernet/ibm/ibmvnic.c > index 7be4b06..9a5e8ac 100644 > --- a/drivers/net/ethernet/ibm/ibmvnic.c > +++ b/drivers/net/ethernet/ibm/ibmvnic.c > @@ -1057,6 +1057,11 @@ static int ibmvnic_open(struct net_device *netdev) > > mutex_lock(&adapter->reset_lock); > > + if (adapter->state == VNIC_OPEN) { > + mutex_unlock(&adapter->reset_lock); > + return 0; > + }
Hi John This looks better. But how did you get ibmvnic_open() to be called twice? Is the actual issue that __ibmvnic_close() does not kill off the adapter->ibmvnic_reset workqueue, so that a reset can happen after close() has been called? Andrew