diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2008-09-01 07:48:17 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-09-03 09:53:47 -0400 |
commit | f8b87c17017f2ce1890fb9a7f85fb0fbf5643e37 (patch) | |
tree | 261a31a95d2fa296ef7abaf6019ff5b7c86bbc63 /drivers/net/sfc/efx.c | |
parent | 3594e131b23665b728b4c98daaf0b61b1d4aaa7a (diff) |
sfc: Make PHY flash mode a device attribute, not a module parameter
This allows updating PHY firmware for one interface without removing
all other interfaces handled by the driver.
Replace tx_disabled flags and 10Xpress status enumeration with flags in
enum efx_phy_mode.
Prevent an interface from being brought up while in PHY flash mode.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/sfc/efx.c')
-rw-r--r-- | drivers/net/sfc/efx.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c index 864095ea5b37..d41a6e34da7d 100644 --- a/drivers/net/sfc/efx.c +++ b/drivers/net/sfc/efx.c | |||
@@ -1296,6 +1296,9 @@ static int efx_net_open(struct net_device *net_dev) | |||
1296 | EFX_LOG(efx, "opening device %s on CPU %d\n", net_dev->name, | 1296 | EFX_LOG(efx, "opening device %s on CPU %d\n", net_dev->name, |
1297 | raw_smp_processor_id()); | 1297 | raw_smp_processor_id()); |
1298 | 1298 | ||
1299 | if (efx->phy_mode & PHY_MODE_SPECIAL) | ||
1300 | return -EBUSY; | ||
1301 | |||
1299 | efx_start_all(efx); | 1302 | efx_start_all(efx); |
1300 | return 0; | 1303 | return 0; |
1301 | } | 1304 | } |