Skip to contentSkip to conversation

Breakage in rtlwifi/base.c for 2010-12-24

DISCUSSION Philip Prindeville 2 participants 2 messages Jan 4, 2011

lore
Share & tools
lore
#0 lore raw

Anyone else seeing the following breakage? I'm building the 2010-12-24 snapshot against 2.6.27.49:

CC [M] /home/philipp/astlinux/build_i586/compat-wireless-2010-12-24/drivers/net/wireless/rtlwifi/base.o
/home/philipp/astlinux/build_i586/compat-wireless-2010-12-24/drivers/net/wireless/rtlwifi/base.c: In function '_rtl_init_deferred_work':
/home/philipp/astlinux/build_i586/compat-wireless-2010-12-24/drivers/net/wireless/rtlwifi/base.c:229: error: implicit declaration of function 'alloc_workqueue' /home/philipp/astlinux/build_i586/compat-wireless-2010-12-24/drivers/net/wireless/rtlwifi/base.c:229: warning: assignment makes pointer from integer without a cast make[5]: *** [/home/philipp/astlinux/build_i586/compat-wireless-2010-12-24/drivers/net/wireless/rtlwifi/base.o] Error 1
make[4]: *** [/home/philipp/astlinux/build_i586/compat-wireless-2010-12-24/drivers/net/wireless/rtlwifi] Error 2
make[3]: *** [/home/philipp/astlinux/build_i586/compat-wireless-2010-12-24/drivers/net/wireless] Error 2
make[2]: *** [_module_/home/philipp/astlinux/build_i586/compat-wireless-2010-12-24] Error 2
make[2]: Leaving directory `/home/philipp/astlinux/build_i586/linux-2.6.27.49-astlinux'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/home/philipp/astlinux/build_i586/compat-wireless-2010-12-24'
make: *** [/home/philipp/astlinux/build_i586/compat-wireless-2010-12-24/net/wireless/lib80211.ko] Error 2

#1 lore raw
Quoted 6 lines · Philip Prindeville

Anyone else seeing the following breakage? I'm building the 2010-12-24 snapshot against 2.6.27.49:

CC [M]
/home/philipp/astlinux/build_i586/compat-wireless-2010-12-24/drivers/net/wireless/rtlwifi/base.o

Quoted 6 lines

/home/philipp/astlinux/build_i586/compat-wireless-2010-12-24/drivers/net/wireless/rtlwifi/base.c:
In function '_rtl_init_deferred_work':
/home/philipp/astlinux/build_i586/compat-wireless-2010-12-24/drivers/net/wireless/rtlwifi/base.c:229:
error: implicit declaration of function 'alloc_workqueue' /home/philipp/astlinux/build_i586/compat-wireless-2010-12-24/drivers/net/wireless/rtlwifi/base.c:229:
warning: assignment makes pointer from integer without a cast

The call create_workqueue() is obsolete and is being replaced by alloc_workqueue(). Unfortunately, older kernels do not have the newer call. A patch for compat-wireless has been submitted, but I don't think the package has rebuilt successfully since then. You have two options: (1) if you do not need a driver for the RTL8192CE/RTL8187CE cards, then deselect them from the build, or
(2) Find the line in drivers/net/wireless/rtlwifi/base.c that says

       rtlpriv->works.rtl_wq = alloc_workqueue(rtlpriv->cfg->name, 0, 0);
and replace it with
       rtlpriv->works.rtl_wq = create_workqueue(rtlpriv->cfg->name);

Larry