Comment 7 for bug 722185

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

Have been gradually enabling and disabling kernel config options to attempt to move it closer to the config for linux-image-2.6.38-7-generic and figure out where the wireless breaks. I have not yet managed to successfully build a kernel where the wireless doesn't work, however today I enabled CONFIG_EXPERT and disabled CONFIG_CC_OPTIMIZE_FOR_SIZE as it is in the ubuntu kernel config, and I get the following error that kills the build:

CC [M] net/mac80211/rc80211_minstrel_ht.o
net/mac80211/rc80211_minstrel_ht.c: In function ‘minstrel_ht_get_rate’:
net/mac80211/rc80211_minstrel_ht.c:629:1: error: unrecognizable insn:
(insn 490 430 491 14 net/mac80211/rc80211_minstrel_ht.c:317 (set (reg:SI 1 dx)
        (mem/c:QI (plus:SI (reg/f:SI 7 sp)
                (const_int 35 [0x23])) [0 %sfp+-13 S1 A8])) -1 (nil))
net/mac80211/rc80211_minstrel_ht.c:629:1: internal compiler error: in extract_insn, at recog.c:2104
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.5/README.Bugs> for instructions.
make[2]: *** [net/mac80211/rc80211_minstrel_ht.o] Error 1
make[1]: *** [net/mac80211] Error 2
make: *** [net] Error 2

which I find interesting, because mac80211 is used by the p54usb driver. I know nothing about the internals of gcc but an unrecognizable insn error appears to be an optimization error, so I re-enabled CONFIG_CC_OPTIMIZE_FOR_SIZE and rebuilt the kernel, and it compiled fine, booted, and the wireless still worked.

So perhaps an error with gcc 4.5 and optimizations in the mac80211 module? I don't know, will keep investigating.