ncsi: remove loop for netlink receive

Currently, we call nl_recmsg_default repeatedly, stopping when the
callback indicates by setting its context arg pointer to zero.

However, current callbacks all set the context immediately, so we would
only ever perform one iteration of the loop anyway.

Remove the loop and the context flag, and return NL_STOP on callback
invocation. In order to do this, we have to disable the auto-ACK
behavior, as the ACKs may arrive before the message respnonse, and
those will also cause a STOP

Tested: get info (as an example of kernel-handled NCSI control) and OEM
message (as an example of NIC-handled NCSI messaging) commands are
functional, using the kernel NCSI interface against a development NCSI
NIC implementation, including injection of AEN events between each
command/response operation.

Change-Id: I9e73bf61e095a17d7eaecc01e0883e343cd26744
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
1 file changed