2011-01-04 20:10:07

by Philip Prindeville

[permalink] [raw]
Subject: Breakage in rtlwifi/base.c for 2010-12-24

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




2011-01-04 21:05:01

by Larry Finger

[permalink] [raw]
Subject: Re: Breakage in rtlwifi/base.c for 2010-12-24

On 01/04/2011 02:00 PM, Philip Prindeville wrote:
> 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

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