2013/3/23 Rafał Miłecki <zajec5@xxxxxxxxx>: > 2013/3/23 Chris Vine <chris@xxxxxxxxxxxxxxxxxxxxx>: >> On Sat, 23 Mar 2013 11:35:17 +0100 >> Michael Büsch <m@xxxxxxx> wrote: >>> On Sat, 23 Mar 2013 00:27:30 +0100 >>> Rafał Miłecki <zajec5@xxxxxxxxx> wrote: >>> >>> > Today I've plugged my 14e4:4315 and (unfortunately?) it's working >>> > pretty well. I hoped to reproduce some problems but failed to do >>> > so. I was transmitting for an hour with average speed 11MiB/s and >>> > didn't notice any DMA issues. >>> > >>> > I was using iperf with interval of 60 seconds and only 3 results >>> > showed some problems (8.5MiB/s, 2.5MiB/s, 4.5MiB/s). No >>> > disconnections however and no DMA errors. I just got "Group >>> > rekeying completed..." in wpa_supplicant. >>> > >>> > So as I can't reproduce this, I can't find any other fix for this >>> > issue, and there's no reason to stop this workaround. I'll just >>> > apply it and test over weekend to check for any regressions, but >>> > they are highly unlikely. >>> >>> I don't really believe in this being a firmware bug. >>> >>> Some b43 DMA engines (all?) have some alignment and >>> page-boundary-crossing constraints. I would rather guess that on some >>> kernels with some options turned on, alignment and/or boundary >>> constraints are violated every now and then. (and thus the packet >>> never reaches the firmware). >>> >>> I don't remember the details, though. Too long since I worked on that. >>> But a few sanity checks could probably be added to the code to check >>> this hypothesis. >>> >>> Does the failing kernel/machine have any special things w.r.t. memory? >>> Like iommu, hugepages, whetever... >> >> For what it is worth, this happens to me on both home compiled and >> distributor kernels (ubuntu and slackware): in fact, any 32-bit kernel >> that I have tried it on. >> >> And it does not happen with the wl driver on the same kernels. So if >> this is right, the wl driver must be doing something that the b43 driver >> does not with respect to alignment: and you might well be right about >> that. > > Could you try changing > B43_DMA32_RINGMEMSIZE > from 4096 to 8192 in dma.h? Blah, ignore that. You're card has 64b DMA, not 32b :| -- Rafał -- 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