On 07/06/2012 08:26 AM, Johannes Berg wrote:
On Fri, 2012-07-06 at 08:15 -0500, Larry Finger wrote:
On 07/04/2012 05:53 AM, Johannes Berg wrote:
From: Johannes Berg <johannes.berg@xxxxxxxxx>
Larry (and some others I think) reported that with
single-queue drivers mac80211 crashes when waking
the queues. This happens because we allocate just
a single queue for each virtual interface in case
the driver doesn't have at least 4 queues, but the
code stopping/waking the virtual interface queues
wasn't taking this into account.
Reported-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
---
net/mac80211/util.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
Tested-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
This patch fixes the problem for drivers that always report a single queue such
as at76c503-usb.
Thanks, I'll merge this.
There is still a problem for b43 with open-source firmware
where the number of queues changes from 4 to 1. As that only affects b43, do you
agree that the problem should be fixed there?
Yes, b43 confuses me a bit. We were looking at this a few weeks ago, but
I couldn't figure out how to solve it.
I think for b43 the solution should be to check if it's proprietary or
free firmware before registering with mac80211, then to mac80211 it's
really just either 1 or 4, not changing.
I agree with that solution, and I will try to implement that model.
Larry
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html