diff options
author | Gavin Shan <gwshan@linux.vnet.ibm.com> | 2016-07-19 04:54:20 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-07-20 06:49:17 +0300 |
commit | 7a82ecf4cfb854955198945340ae13558b64e1af (patch) | |
tree | a2ae3a2862a8e724231de15f8e0582437fd877d3 /net/ncsi/ncsi-rsp.c | |
parent | e6f44ed6d04d3185dcd8e8e98af8742d87bdffcc (diff) | |
download | linux-7a82ecf4cfb854955198945340ae13558b64e1af.tar.xz |
net/ncsi: NCSI AEN packet handler
This introduces NCSI AEN packet handlers that result in (A) the
currently active channel is reconfigured; (B) Currently active
channel is deconfigured and disabled, another channel is chosen
as active one and configured. Case (B) won't happen if hardware
arbitration has been enabled, the channel that was in active
state is suspended simply.
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Acked-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ncsi/ncsi-rsp.c')
-rw-r--r-- | net/ncsi/ncsi-rsp.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/ncsi/ncsi-rsp.c b/net/ncsi/ncsi-rsp.c index a21af88330aa..af84389a6bf1 100644 --- a/net/ncsi/ncsi-rsp.c +++ b/net/ncsi/ncsi-rsp.c @@ -980,8 +980,12 @@ int ncsi_rcv_rsp(struct sk_buff *skb, struct net_device *dev, if (!ndp) return -ENODEV; - /* Find the handler */ + /* Check if it is AEN packet */ hdr = (struct ncsi_pkt_hdr *)skb_network_header(skb); + if (hdr->type == NCSI_PKT_AEN) + return ncsi_aen_handler(ndp, skb); + + /* Find the handler */ for (i = 0; i < ARRAY_SIZE(ncsi_rsp_handlers); i++) { if (ncsi_rsp_handlers[i].type == hdr->type) { if (ncsi_rsp_handlers[i].handler) |