On Sat, 2013-07-06 at 21:47 -0500, Larry Finger wrote: > Fengguang Wu reported the following errors in the build of rtlwifi with > a random configuration: > > tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux master > head: bcd7351e83728859833e3c5b8aae9a2816914e4b > commit: 06e7cda3ce30dadc3454539127b4cfc3888c349e rtlwifi: Rework Kconfig > date: 5 months ago > config: i386-randconfig-s05-0703 > > drivers/built-in.o: In function `rtl_usb_cleanup': > usb.c:(.text+0x114895): undefined reference to `usb_kill_anchored_urbs' > usb.c:(.text+0x114964): undefined reference to `usb_kill_anchored_urbs' > usb.c:(.text+0x11497c): undefined reference to `usb_kill_anchored_urbs' > drivers/built-in.o: In function `_usb_writeN_sync': > usb.c:(.text+0x114c9e): undefined reference to `usb_control_msg' > drivers/built-in.o: In function `rtl_usb_disconnect': > (.text+0x114d9c): undefined reference to `usb_put_dev' > drivers/built-in.o: In function `rtl_usb_start': > usb.c:(.text+0x114fb0): undefined reference to `usb_alloc_urb' > usb.c:(.text+0x115049): undefined reference to `usb_free_urb' > --snip-- > > Although I could not duplicate this result on my machine, it seemed likely > that it was due to the unusual configuration where rtlwifi was being built, > but none of its dependent drivers were selected. I think it just requires: CONFIG_USB=m CONFIG_RTLWIFI=y > The fix is to select rtlwifi only when it is needed. I don't think so. Consider this configuration: CONFIG_PCI=y CONFIG_USB=m CONFIG_RTL_CARDS=y CONFIG_RTL8192CE=y CONFIG_RTL8192CU=m CONFIG_RTLWIFI=y # maximum of RTL8192CE=y and RTL8192CU=m The same breakage occurs. > While making this > change, I simplified the configuration so that variable RTLWIFI is never seen > by the user. [...] This will break existing configurations as RTL_CARDS defaults to n. Perhaps you should introduce separate modules for the common PCI and USB support code, similarly to how the rt2x00 modules are organised. Ben. -- Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked. -- 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