From: Shannon Nelson Date: Mon, 15 May 2017 15:33:06 +0000 (-0700) Subject: ldmvsw: stop the clean timer at beginning of remove X-Git-Tag: v4.1.12-102.0.20170530_1700~16 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=ca5c4e443f9727dfdc99f7d2f11f3f6e212337c9;p=users%2Fjedix%2Flinux-maple.git ldmvsw: stop the clean timer at beginning of remove Stop the clean timer earlier to be sure there's no asynchronous interference while stopping the port. Orabug: 25748241 Signed-off-by: Shannon Nelson Reviewed-by: Tushar Dave Signed-off-by: Allen Pais --- diff --git a/drivers/net/ethernet/sun/ldmvsw.c b/drivers/net/ethernet/sun/ldmvsw.c index 080604c5ef3dd..8c27e86e57f65 100644 --- a/drivers/net/ethernet/sun/ldmvsw.c +++ b/drivers/net/ethernet/sun/ldmvsw.c @@ -418,6 +418,7 @@ static int vsw_port_remove(struct vio_dev *vdev) if (port) { del_timer_sync(&port->vio.timer); + del_timer_sync(&port->clean_timer); napi_disable(&port->napi); unregister_netdev(port->dev); @@ -425,7 +426,6 @@ static int vsw_port_remove(struct vio_dev *vdev) list_del_rcu(&port->list); synchronize_rcu(); - del_timer_sync(&port->clean_timer); spin_lock_irqsave(&port->vp->lock, flags); sunvnet_port_rm_txq_common(port); spin_unlock_irqrestore(&port->vp->lock, flags);