bnx2x: get_ext_phy_fw_version returns NULL if not applicable
authorEilon Greenstein <eilong@broadcom.com>
Wed, 12 Aug 2009 08:22:59 +0000 (08:22 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 13 Aug 2009 06:02:21 +0000 (23:02 -0700)
To avoid confusion, if the PHY does not have a FW (and so, no FW version) make
sure that the string is NULL.

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bnx2x_link.c

index c925249..aee9fff 100644 (file)
@@ -5393,7 +5393,7 @@ u8 bnx2x_get_ext_phy_fw_version(struct link_params *params, u8 driver_loaded,
        struct bnx2x *bp;
        u32 ext_phy_type = 0;
        u32 spirom_ver = 0;
-       u8 status = 0 ;
+       u8 status;
 
        if (version == NULL || params == NULL)
                return -EINVAL;
@@ -5403,6 +5403,7 @@ u8 bnx2x_get_ext_phy_fw_version(struct link_params *params, u8 driver_loaded,
                   offsetof(struct shmem_region,
                            port_mb[params->port].ext_phy_fw_version));
 
+       status = 0;
        /* reset the returned value to zero */
        ext_phy_type = XGXS_EXT_PHY_TYPE(params->ext_phy_config);
        switch (ext_phy_type) {
@@ -5421,7 +5422,6 @@ u8 bnx2x_get_ext_phy_fw_version(struct link_params *params, u8 driver_loaded,
        case PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8072:
        case PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8073:
        case PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8727:
-       case PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8705:
        case PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8706:
        case PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8726:
                status = bnx2x_format_ver(spirom_ver, version, len);
@@ -5432,6 +5432,8 @@ u8 bnx2x_get_ext_phy_fw_version(struct link_params *params, u8 driver_loaded,
                status = bnx2x_format_ver(spirom_ver, version, len);
                break;
        case PORT_HW_CFG_XGXS_EXT_PHY_TYPE_DIRECT:
+       case PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8705:
+               version[0] = '\0';
                break;
 
        case PORT_HW_CFG_XGXS_EXT_PHY_TYPE_FAILURE: