cxgb4: DCB message handler needs to use correct portid to netdev mapping
authorHariprasad Shenai <hariprasad@chelsio.com>
Tue, 26 Apr 2016 14:40:27 +0000 (20:10 +0530)
committerDavid S. Miller <davem@davemloft.net>
Tue, 26 Apr 2016 17:23:57 +0000 (13:23 -0400)
Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c

index 052c660..6ee2ed3 100644 (file)
@@ -253,7 +253,7 @@ void cxgb4_dcb_handle_fw_update(struct adapter *adap,
 {
        const union fw_port_dcb *fwdcb = &pcmd->u.dcb;
        int port = FW_PORT_CMD_PORTID_G(be32_to_cpu(pcmd->op_to_portid));
-       struct net_device *dev = adap->port[port];
+       struct net_device *dev = adap->port[adap->chan_map[port]];
        struct port_info *pi = netdev_priv(dev);
        struct port_dcb_info *dcb = &pi->dcb;
        int dcb_type = pcmd->u.dcb.pgid.type;
index abc425b..4f627f3 100644 (file)
@@ -515,7 +515,7 @@ EXPORT_SYMBOL(cxgb4_dcb_enabled);
 static void dcb_rpl(struct adapter *adap, const struct fw_port_cmd *pcmd)
 {
        int port = FW_PORT_CMD_PORTID_G(ntohl(pcmd->op_to_portid));
-       struct net_device *dev = adap->port[port];
+       struct net_device *dev = adap->port[adap->chan_map[port]];
        int old_dcb_enabled = cxgb4_dcb_enabled(dev);
        int new_dcb_enabled;
 
@@ -645,7 +645,8 @@ static int fwevtq_handler(struct sge_rspq *q, const __be64 *rsp,
                    action == FW_PORT_ACTION_GET_PORT_INFO) {
                        int port = FW_PORT_CMD_PORTID_G(
                                        be32_to_cpu(pcmd->op_to_portid));
-                       struct net_device *dev = q->adap->port[port];
+                       struct net_device *dev =
+                               q->adap->port[q->adap->chan_map[port]];
                        int state_input = ((pcmd->u.info.dcbxdis_pkd &
                                            FW_PORT_CMD_DCBXDIS_F)
                                           ? CXGB4_DCB_INPUT_FW_DISABLED