net: sfp: only use soft polling if we have A2h access

The soft state bits are stored in the A2h memory space, and require
SFF-8472 compliance. This is what our have_a2 flag tells us, so use
this to indicate whether we should attempt to use the soft signals.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Russell King (Oracle)
2023-03-09 15:57:16 +00:00
committed by Jakub Kicinski
parent f94b9bed12
commit 5daed426f0

View File

@@ -2284,7 +2284,11 @@ static void sfp_sm_main(struct sfp *sfp, unsigned int event)
sfp->sm_dev_state != SFP_DEV_UP)
break;
if (!(sfp->id.ext.diagmon & SFP_DIAGMON_ADDRMODE))
/* Only use the soft state bits if we have access to the A2h
* memory, which implies that we have some level of SFF-8472
* compliance.
*/
if (sfp->have_a2)
sfp_soft_start_poll(sfp);
sfp_module_tx_enable(sfp);