liquidio: fix for vf mac addr command sent to nic firmware
authorRick Farrington <ricardo.farrington@cavium.com>
Fri, 17 Mar 2017 22:43:26 +0000 (15:43 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 22 Mar 2017 00:48:29 +0000 (17:48 -0700)
commit9549c6c872beee08ddb5bb92715bfde3b7161a88
treea46f7dfd50095b83ba4439e9db64f7511178ead2
parent71dbc3414caaf68d1914f63864b65d2a4d0bc39c
liquidio: fix for vf mac addr command sent to nic firmware

Change to support host<->firmware command return value.
Fix for vf mac addr state command.
1. Added support for firmware commands to return a value:
   - previously, the returned code overlapped with host codes, thus
     commands were only returning 0 (success) or -1 (interpreted as
     timeout)
   - per 'response_manager.h', the error codes are split into two fields
     (major/minor) now, firmware commands are grouped into their own
     'major' group, separate from the host's 'major' group, which allow f/w
     commands to return any 16-bit value
2. The command to set vf mac addr was logging a success message even if
   command failed.  Now command uses a callback function to log the status
   message.
3. The command to set vf mac addr was not logging a message when set via
   the host 'ip' command.  Now, the callback function will log an
   appropriate message.

Signed-off-by: Rick Farrington <ricardo.farrington@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: Derek Chickles <derek.chickles@cavium.com>
Signed-off-by: Satanand Burla <satananda.burla@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cavium/liquidio/lio_core.c
drivers/net/ethernet/cavium/liquidio/lio_main.c
drivers/net/ethernet/cavium/liquidio/response_manager.c
drivers/net/ethernet/cavium/liquidio/response_manager.h