cxgb4: allow reading unrecognized port module eeprom
Even if firmware fails to recognize the plugged-in port module type, allow reading port module EEPROM anyway. This helps in obtaining necessary diagnostics information for debugging and analysis. Signed-off-by: Manoj Malviya <manojmalviya@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> Link: https://lore.kernel.org/r/1637682437-31407-1-git-send-email-rahul.lakkireddy@chelsio.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
5a45ab3f24
commit
e670e1e86b
@ -1993,6 +1993,15 @@ static int get_dump_data(struct net_device *dev, struct ethtool_dump *eth_dump,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool cxgb4_fw_mod_type_info_available(unsigned int fw_mod_type)
|
||||
{
|
||||
/* Read port module EEPROM as long as it is plugged-in and
|
||||
* safe to read.
|
||||
*/
|
||||
return (fw_mod_type != FW_PORT_MOD_TYPE_NONE &&
|
||||
fw_mod_type != FW_PORT_MOD_TYPE_ERROR);
|
||||
}
|
||||
|
||||
static int cxgb4_get_module_info(struct net_device *dev,
|
||||
struct ethtool_modinfo *modinfo)
|
||||
{
|
||||
@ -2001,7 +2010,7 @@ static int cxgb4_get_module_info(struct net_device *dev,
|
||||
struct adapter *adapter = pi->adapter;
|
||||
int ret;
|
||||
|
||||
if (!t4_is_inserted_mod_type(pi->mod_type))
|
||||
if (!cxgb4_fw_mod_type_info_available(pi->mod_type))
|
||||
return -EINVAL;
|
||||
|
||||
switch (pi->port_type) {
|
||||
|
Loading…
Reference in New Issue
Block a user