aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/efx.c
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2008-09-01 07:48:17 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-09-03 09:53:47 -0400
commitf8b87c17017f2ce1890fb9a7f85fb0fbf5643e37 (patch)
tree261a31a95d2fa296ef7abaf6019ff5b7c86bbc63 /drivers/net/sfc/efx.c
parent3594e131b23665b728b4c98daaf0b61b1d4aaa7a (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.c3
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}