Function name collisions with mac80211
Greetings,
a function name collision issue spawned off a Gentoo bug [1].
Basically, functions in the rtl8187se staging driver collide with functions in the mac80211 source not allowing kernel compilation with both CONFIG_RTL8187SE and CONFIG_MAC80211 set.
Changes that cause this issue are:
a) commit 103bf9f7d35849bce52ad412e4da5063b0716969:
mac80211: remove ieee80211_rx namespace hack
Where ieee80211_rx() starts getting exported instead of __ieee80211_rx() which used to get exported.
b) commit c6e43bc83fd0f156eeb64bc2fa47323fdff16ba8
Staging: rtl8187se/ieee80211: remove superfluous ieee80211_* defines
Where #define ieee80211_wake_queue ieee80211_wake_queue_rtl
and #define ieee80211_stop_queue ieee80211_stop_queue_rtl
get removed effectively exposing the collision with the mac80211
functions of the same names.
The collisions are not restricted to the rtl8187se driver, like the following example:
c) commit 5d9baea95f45bddcecab050de1af2ef678e85339
Staging: rtl8192su: make private ieee80211 stack really private
Had the exact same effect as b) to the rtl8192su driver.
d) A quick grep of the three functions in Gentoo bug report shows many instances of them in the drivers/staging directory.
Quoted 27 lines · Kadianakis George
Greetings,
a function name collision issue spawned off a Gentoo bug [1].
Basically, functions in the rtl8187se staging driver collide with functions in the mac80211 source not allowing kernel compilation with both
CONFIG_RTL8187SEandCONFIG_MAC80211set.Changes that cause this issue are:
a) commit103bf9f7d35849bce52ad412e4da5063b0716969:mac80211: remove ieee80211_rx namespace hackWhere
ieee80211_rx()starts getting exported instead of__ieee80211_rx()which used to get exported.
b) commitc6e43bc83fd0f156eeb64bc2fa47323fdff16ba8
Staging: rtl8187se/ieee80211: remove superfluous ieee80211_* defines
Where #defineieee80211_wake_queueieee80211_wake_queue_rtl
and #defineieee80211_stop_queueieee80211_stop_queue_rtl
get removed effectively exposing the collision with the mac80211
functions of the same names.The collisions are not restricted to the rtl8187se driver, like the following example:
c) commit5d9baea95f45bddcecab050de1af2ef678e85339
Staging: rtl8192su: make private ieee80211 stack really private
Had the exact same effect as b) to the rtl8192su driver.
d) A quick grep of the three functions in Gentoo bug report shows many instances of them in thedrivers/stagingdirectory.
Quoted 1 line
I suggest you change the function names in drivers/staging.
Joh
Signature · 2 lines
John W. Linville Someday the world will need a hero, and you [email protected] might be all we have. Be ready.