瀏覽代碼

[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>

David Gibson 20 年之前
父節點
當前提交
7bb7c3a326
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      drivers/net/wireless/orinoco.c

+ 4 - 1
drivers/net/wireless/orinoco.c

@@ -492,6 +492,9 @@ EXPORT_SYMBOL(orinoco_debug);
 static int suppress_linkstatus; /* = 0 */
 module_param(suppress_linkstatus, bool, 0644);
 MODULE_PARM_DESC(suppress_linkstatus, "Don't log link status changes");
+static int ignore_disconnect; /* = 0 */
+module_param(ignore_disconnect, int, 0644);
+MODULE_PARM_DESC(ignore_disconnect, "Don't report lost link to the network layer");
 
 /********************************************************************/
 /* Compile time configuration and compatibility stuff               */
@@ -1320,7 +1323,7 @@ static void __orinoco_ev_info(struct net_device *dev, hermes_t *hw)
 
 		if (connected)
 			netif_carrier_on(dev);
-		else
+		else if (!ignore_disconnect)
 			netif_carrier_off(dev);
 
 		if (newstatus != priv->last_linkstatus)