====================
net/ncsi: NCSI Improvment and bug fixes
This series of patches improves NCSI stack according to the comments
I received after the NCSI code was merged to 4.8.rc1:
* PATCH[1/8] fixes the build warning caused by xchg() with ia64-linux-gcc.
The atomic operations are removed. The NCSI's lock should be taken when
reading or updating its state and chained state.
* Channel ID (0x1f) is the reserved one and it cannot be valid channel ID.
So we needn't try to probe channel whose ID is 0x1f. PATCH[2/8] and
PATCH[3/8] are addressing this issue.
* The request IDs are assigned in round-robin fashion, but it's broken.
PATCH[4/8] make it work.
* PATCH[5/8] and PATCH[6/8] reworks the channel monitoring to improve the
code readability and its robustness.
* PATCH[7/8] and PATCH[8/8] introduces ncsi_stop_dev() so that the network
device can be closed and opened afterwards. No error will be seen.
Changelog
=========
v2:
* The NCSI's lock is taken when reading or updating its state as the
{READ,WRITE}_ONCE() isn't reliable.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>