diff options
Diffstat (limited to 'drivers/net/sfc')
-rw-r--r-- | drivers/net/sfc/net_driver.h | 2 | ||||
-rw-r--r-- | drivers/net/sfc/siena.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/sfc/net_driver.h b/drivers/net/sfc/net_driver.h index 2e6fd89f2a72..4762c91cb587 100644 --- a/drivers/net/sfc/net_driver.h +++ b/drivers/net/sfc/net_driver.h | |||
@@ -830,7 +830,7 @@ static inline const char *efx_dev_name(struct efx_nic *efx) | |||
830 | 830 | ||
831 | static inline unsigned int efx_port_num(struct efx_nic *efx) | 831 | static inline unsigned int efx_port_num(struct efx_nic *efx) |
832 | { | 832 | { |
833 | return PCI_FUNC(efx->pci_dev->devfn); | 833 | return efx->net_dev->dev_id; |
834 | } | 834 | } |
835 | 835 | ||
836 | /** | 836 | /** |
diff --git a/drivers/net/sfc/siena.c b/drivers/net/sfc/siena.c index 727b4228e081..f2b1e6180753 100644 --- a/drivers/net/sfc/siena.c +++ b/drivers/net/sfc/siena.c | |||
@@ -206,6 +206,7 @@ static int siena_probe_nic(struct efx_nic *efx) | |||
206 | { | 206 | { |
207 | struct siena_nic_data *nic_data; | 207 | struct siena_nic_data *nic_data; |
208 | bool already_attached = 0; | 208 | bool already_attached = 0; |
209 | efx_oword_t reg; | ||
209 | int rc; | 210 | int rc; |
210 | 211 | ||
211 | /* Allocate storage for hardware specific data */ | 212 | /* Allocate storage for hardware specific data */ |
@@ -220,6 +221,9 @@ static int siena_probe_nic(struct efx_nic *efx) | |||
220 | goto fail1; | 221 | goto fail1; |
221 | } | 222 | } |
222 | 223 | ||
224 | efx_reado(efx, ®, FR_AZ_CS_DEBUG); | ||
225 | efx->net_dev->dev_id = EFX_OWORD_FIELD(reg, FRF_CZ_CS_PORT_NUM) - 1; | ||
226 | |||
223 | efx_mcdi_init(efx); | 227 | efx_mcdi_init(efx); |
224 | 228 | ||
225 | /* Recover from a failed assertion before probing */ | 229 | /* Recover from a failed assertion before probing */ |