Fixed, there was an uninitialized variable (extra_len) in p54_tx_80211, which is sometimes set in p54_tx_80211_header. However, the variable only appears to get corrupted when p54_tx_80211_header isn't inlined, which only seems to happen with gcc-4.5 and CONFIG_DEBUG_SECTION_MISMATCH=y (-fno-inline-functions-called-once). Without that option and gcc-4.5 the function is inlined, and the function is also inlined using gcc-4.4 and CONFIG_DEBUG_SECTION_MISMATCH=y. This seems to be what was causing the outgoing buffer to fill up.
Invalidating the gcc-4.5 target, if anything gcc-4.5 is finally working correctly in this instance. Also adding a patch that sets the variable to 0 when it is declared. ** Patch added: "Zero out extra_len in p54_tx_80211 in drivers/net/wireless/p54/txrx.c" https://bugs.launchpad.net/ubuntu/+source/gcc-4.5/+bug/722185/+attachment/1991094/+files/p54_txrx_uninit_extra_len.patch -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/722185 Title: Regression: Does not list available WLAN networks (p54) -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
