mlx4_en: don't use napi_synchronize inside mlx4_en_netpoll
authorChris Mason <clm@fb.com>
Tue, 15 Apr 2014 22:09:24 +0000 (18:09 -0400)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 18 May 2014 13:58:03 +0000 (14:58 +0100)
commit c98235cb8584a72e95786e17d695a8e5fafcd766 upstream.

The mlx4 driver is triggering schedules while atomic inside
mlx4_en_netpoll:

spin_lock_irqsave(&cq->lock, flags);
napi_synchronize(&cq->napi);
^^^^^ msleep here
mlx4_en_process_rx_cq(dev, cq, 0);
spin_unlock_irqrestore(&cq->lock, flags);

This was part of a patch by Alexander Guller from Mellanox in 2011,
but it still isn't upstream.

Signed-off-by: Chris Mason <clm@fb.com>
Acked-By: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>

No differences found