rocker: revert back to support for nowait processes
authorScott Feldman <sfeldma@gmail.com>
Sat, 13 Jun 2015 04:35:46 +0000 (21:35 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 15 Jun 2015 23:06:48 +0000 (16:06 -0700)
commit179f9a2590a9f585fe052f87f10a83a84613ee43
tree8e0a3290015a8711cb24a421ce8004bdede218f3
parent4d81db4156caef7b223dde07e50db0144d12a192
rocker: revert back to support for nowait processes

One of the items removed from the rocker driver in the Spring Cleanup patch
series was the ability to mark processing in the driver as "no wait" for
those contexts where we cannot sleep.  Turns out, we have "no wait"
contexts where we want to program the device.  So re-add the
ROCKER_OP_FLAG_NOWAIT flag to mark such processes, and propagate flags to
mem allocator and to the device cmd executor.  With NOWAIT, mem allocs are
GFP_ATOMIC and device cmds are queued to the device, but the driver will
not wait (sleep) for the response back from the device.

My bad for removing NOWAIT support in the first place; I thought we could
swing non-sleep contexts to process context using a work queue, for
example, but there is push-back to keep processing in original context.

Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/rocker/rocker.c