aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Gibson <hermes@gibson.dropbear.id.au>2005-05-12 20:02:10 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-05-12 20:02:10 -0400
commit7bb7c3a326f509acbdaf550b54fba565544ef200 (patch)
treee45c81d6df74f73d970948f868a00b4f94a54f36
parente67d9d9d9e3934fc2844b795ed68f2d87e9a047a (diff)
[PATCH] Orinoco: ignore_disconnect flag
Adds an ignore_disconnect module parameter. When enabled, the driver will continue attempting to send packets even when the firmware has told us we've lost our link to the AP. On some firmwares this substantially increases the usable range of the card (presumably because we have an interrmittent connection, but the firmware is able to queue the packets for us until we're connected again). On some other cards, it causes the firmware to fall in a screaming heap :( (hence, default off). Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-rw-r--r--drivers/net/wireless/orinoco.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/wireless/orinoco.c b/drivers/net/wireless/orinoco.c
index 3eab7e0b8507..01cf28568bc2 100644
--- a/drivers/net/wireless/orinoco.c
+++ b/drivers/net/wireless/orinoco.c
@@ -492,6 +492,9 @@ EXPORT_SYMBOL(orinoco_debug);
492static int suppress_linkstatus; /* = 0 */ 492static int suppress_linkstatus; /* = 0 */
493module_param(suppress_linkstatus, bool, 0644); 493module_param(suppress_linkstatus, bool, 0644);
494MODULE_PARM_DESC(suppress_linkstatus, "Don't log link status changes"); 494MODULE_PARM_DESC(suppress_linkstatus, "Don't log link status changes");
495static int ignore_disconnect; /* = 0 */
496module_param(ignore_disconnect, int, 0644);
497MODULE_PARM_DESC(ignore_disconnect, "Don't report lost link to the network layer");
495 498
496/********************************************************************/ 499/********************************************************************/
497/* Compile time configuration and compatibility stuff */ 500/* Compile time configuration and compatibility stuff */
@@ -1320,7 +1323,7 @@ static void __orinoco_ev_info(struct net_device *dev, hermes_t *hw)
1320 1323
1321 if (connected) 1324 if (connected)
1322 netif_carrier_on(dev); 1325 netif_carrier_on(dev);
1323 else 1326 else if (!ignore_disconnect)
1324 netif_carrier_off(dev); 1327 netif_carrier_off(dev);
1325 1328
1326 if (newstatus != priv->last_linkstatus) 1329 if (newstatus != priv->last_linkstatus)