[RFC/RFT] p54usb: Regression due to commit b19fa1f

From: Larry Finger
Date: Sun Aug 03 2008 - 16:14:13 EST


In commit b19fa1fa91845234961c64dbd564671aa7c0fd27, the configuration
parameter NETDEVICES_MULTIQUEUE was eliminated making multiple TX queues
the normal behavior. For p54usb, enabling multiple queues broke the driver.

A temporary hack that forces only one queue is presented here. With it, the driver works as before. Obviously, a proper fix is needed in the long run.

Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
---


Index: linux-2.6/drivers/net/wireless/p54/p54common.c
===================================================================
--- linux-2.6.orig/drivers/net/wireless/p54/p54common.c
+++ linux-2.6/drivers/net/wireless/p54/p54common.c
@@ -150,7 +150,7 @@ void p54_parse_firmware(struct ieee80211
priv->tx_stats[1].limit = 4;
priv->tx_stats[2].limit = 3;
priv->tx_stats[3].limit = 1;
- dev->queues = 4;
+ dev->queues = 1; /* temp. hack, set to 1 as 4 breaks p54usb */
}
}
EXPORT_SYMBOL_GPL(p54_parse_firmware);


In commit b19fa1fa91845234961c64dbd564671aa7c0fd27, the configuration
parameter NETDEVICES_MULTIQUEUE was eliminated making multiple TX queues
the normal behavior. For p54usb, enabling multiple queues broke the driver.

The real failure is not known, but a temporary hack that forces only one
queue is presented here.

Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
---


Index: linux-2.6/drivers/net/wireless/p54/p54common.c
===================================================================
--- linux-2.6.orig/drivers/net/wireless/p54/p54common.c
+++ linux-2.6/drivers/net/wireless/p54/p54common.c
@@ -150,7 +150,7 @@ void p54_parse_firmware(struct ieee80211
priv->tx_stats[1].limit = 4;
priv->tx_stats[2].limit = 3;
priv->tx_stats[3].limit = 1;
- dev->queues = 4;
+ dev->queues = 1; /* temp. hack, set to 1 as 4 breaks p54usb */
}
}
EXPORT_SYMBOL_GPL(p54_parse_firmware);