On Monday 14 April 2008, Thomas Bächler wrote: > Ivo van Doorn schrieb: > >>> No, wait, I'm confused, the original patch is correct. As far as I can > >>> tell, the code there is correct. The bug in that code was actually > >>> introduced by me based on the wrong thinking I just did again. > >> I figured as much from the original commit message. So rt2500pci works > >> properly when the use_short_preamble has the wrong value, and breaks > >> when it has the right one. > >> By the way, 2.6.25-rc8 was the first time that rt2500pci was ever fast > >> enough to be usable at all for me, so the bug you introduced seemed to > >> be the fix for my speed problems (which is odd). My guess is that > >> rt2500pci treats use_short_preamble wrong. > > > > Could you test this with the below patch? > > This enables short_preamble for all rt2x00 drivers regardless of what mac80211 issues. > > What tree is this against? It doesn't apply to linux-2.6.git > (2.6.25-rc9), which was the one I was talking about all the time. I did > not test the wireless-testing or rt2x00 tree. Hmm, it was against the rt2x00.git tree (which means it should apply to wireless-testing, wireless-2.6.26 and the -mm tree). Anyway it doesn't matter at this time, could you try below patch instead? I found 1 irregularity in the handling of preamble settings compared to the legacy code. (This patch is against latest linux-2.6.git) --- diff --git a/drivers/net/wireless/rt2x00/rt2500pci.c b/drivers/net/wireless/rt2x00/rt2500pci.c index 91e87b5..9a87e83 100644 --- a/drivers/net/wireless/rt2x00/rt2500pci.c +++ b/drivers/net/wireless/rt2x00/rt2500pci.c @@ -309,7 +309,7 @@ static void rt2500pci_config_preamble(struct rt2x00_dev *rt2x00dev, rt2x00pci_register_write(rt2x00dev, TXCSR1, reg); rt2x00pci_register_read(rt2x00dev, ARCSR2, ®); - rt2x00_set_field32(®, ARCSR2_SIGNAL, 0x00 | preamble_mask); + rt2x00_set_field32(®, ARCSR2_SIGNAL, 0x00); rt2x00_set_field32(®, ARCSR2_SERVICE, 0x04); rt2x00_set_field32(®, ARCSR2_LENGTH, get_duration(ACK_SIZE, 10)); rt2x00pci_register_write(rt2x00dev, ARCSR2, reg); -- 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