netxen: Error return off by one for XG port.
There are NETXEN_NIU_MAX_XG_PORTS ports. Port indexing starts from zero. Hence we should also return error for 'port == NETXEN_NIU_MAX_XG_PORTS'. Signed-off-by: Santosh Nayak <santoshprasadnayak@gmail.com>
This commit is contained in:
committed by
David S. Miller
parent
d8140b2fa0
commit
ed3b856b69
@@ -511,7 +511,7 @@ netxen_nic_get_pauseparam(struct net_device *dev,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if (adapter->ahw.port_type == NETXEN_NIC_XGBE) {
|
} else if (adapter->ahw.port_type == NETXEN_NIC_XGBE) {
|
||||||
if ((port < 0) || (port > NETXEN_NIU_MAX_XG_PORTS))
|
if ((port < 0) || (port >= NETXEN_NIU_MAX_XG_PORTS))
|
||||||
return;
|
return;
|
||||||
pause->rx_pause = 1;
|
pause->rx_pause = 1;
|
||||||
val = NXRD32(adapter, NETXEN_NIU_XG_PAUSE_CTL);
|
val = NXRD32(adapter, NETXEN_NIU_XG_PAUSE_CTL);
|
||||||
@@ -577,7 +577,7 @@ netxen_nic_set_pauseparam(struct net_device *dev,
|
|||||||
}
|
}
|
||||||
NXWR32(adapter, NETXEN_NIU_GB_PAUSE_CTL, val);
|
NXWR32(adapter, NETXEN_NIU_GB_PAUSE_CTL, val);
|
||||||
} else if (adapter->ahw.port_type == NETXEN_NIC_XGBE) {
|
} else if (adapter->ahw.port_type == NETXEN_NIC_XGBE) {
|
||||||
if ((port < 0) || (port > NETXEN_NIU_MAX_XG_PORTS))
|
if ((port < 0) || (port >= NETXEN_NIU_MAX_XG_PORTS))
|
||||||
return -EIO;
|
return -EIO;
|
||||||
val = NXRD32(adapter, NETXEN_NIU_XG_PAUSE_CTL);
|
val = NXRD32(adapter, NETXEN_NIU_XG_PAUSE_CTL);
|
||||||
if (port == 0) {
|
if (port == 0) {
|
||||||
|
@@ -365,7 +365,7 @@ static int netxen_niu_disable_xg_port(struct netxen_adapter *adapter)
|
|||||||
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
|
if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (port > NETXEN_NIU_MAX_XG_PORTS)
|
if (port >= NETXEN_NIU_MAX_XG_PORTS)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
mac_cfg = 0;
|
mac_cfg = 0;
|
||||||
@@ -392,7 +392,7 @@ static int netxen_p2_nic_set_promisc(struct netxen_adapter *adapter, u32 mode)
|
|||||||
u32 port = adapter->physical_port;
|
u32 port = adapter->physical_port;
|
||||||
u16 board_type = adapter->ahw.board_type;
|
u16 board_type = adapter->ahw.board_type;
|
||||||
|
|
||||||
if (port > NETXEN_NIU_MAX_XG_PORTS)
|
if (port >= NETXEN_NIU_MAX_XG_PORTS)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
mac_cfg = NXRD32(adapter, NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port));
|
mac_cfg = NXRD32(adapter, NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port));
|
||||||
|
Reference in New Issue
Block a user