Commit 6219e493 authored by David Binder's avatar David Binder Committed by Greg Kroah-Hartman

staging: unisys: visornic: Reorder logic in visornic_enable_with_timeout()

Moves the call to napi_enable() before the call to init_rcv_bufs(),
ensuring that messages are not put into the receive queue until the guest
is ready to receive interrupts.
Signed-off-by: default avatarDavid Binder <david.binder@unisys.com>
Signed-off-by: default avatarDavid Kershner <david.kershner@unisys.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4b3d7b6d
...@@ -572,6 +572,8 @@ visornic_enable_with_timeout(struct net_device *netdev, const int timeout) ...@@ -572,6 +572,8 @@ visornic_enable_with_timeout(struct net_device *netdev, const int timeout)
unsigned long flags; unsigned long flags;
int wait = 0; int wait = 0;
napi_enable(&devdata->napi);
/* NOTE: the other end automatically unposts the rcv buffers when it /* NOTE: the other end automatically unposts the rcv buffers when it
* gets a disable. * gets a disable.
*/ */
...@@ -595,7 +597,6 @@ visornic_enable_with_timeout(struct net_device *netdev, const int timeout) ...@@ -595,7 +597,6 @@ visornic_enable_with_timeout(struct net_device *netdev, const int timeout)
/* send enable and wait for ack -- don't hold lock when sending enable /* send enable and wait for ack -- don't hold lock when sending enable
* because if the queue is full, insert might sleep. * because if the queue is full, insert might sleep.
*/ */
napi_enable(&devdata->napi);
send_enbdis(netdev, 1, devdata); send_enbdis(netdev, 1, devdata);
spin_lock_irqsave(&devdata->priv_lock, flags); spin_lock_irqsave(&devdata->priv_lock, flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment