Comment 13 for bug 722185

Revision history for this message
Jason Conti (jconti) wrote :

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.