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

Reply via email to