cxgbe(4): Determine early in the ioctl whether it is allowed to sleep or
not, instead of always starting a non-sleepable operation and
re-adjusting later. This ensures that an operation that is allowed to
sleep (ifconfig up/down) never fails with EBUSY on the initial attempt
to start a synchronized operation.
This is a direct commit to stable/11. The driver ioctl is always
allowed to sleep in head.
Sponsored by: Chelsio Communications