Bug 204401 - Inconsistent wireless extensions
Inconsistent wireless extensions
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: David Woodhouse
Brian Brock
Depends On:
  Show dependency treegraph
Reported: 2006-08-28 16:59 EDT by Matthew Booth
Modified: 2007-11-16 20:14 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-09-13 15:25:07 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Matthew Booth 2006-08-28 16:59:34 EDT
WIRELESS_EXT in include/linux/wireless.h changed between 2.6.9-34.0.2.EL-i686
and 2.6.9-42.0.2.EL from 16 to 18. However, the API does not appear to
correspond to version 18 of the wireless extensions.

Specifically, the madwifi driver no longer compiles under RHEL4. It fails in the
following struct:

static struct iw_handler_def ieee80211_iw_handler_def = {
#define N(a)    (sizeof (a) / sizeof (a[0]))
    .standard       = (iw_handler *) ieee80211_handlers,
    .num_standard       = N(ieee80211_handlers),
    .private        = (iw_handler *) ieee80211_priv_handlers,
    .num_private        = N(ieee80211_priv_handlers),
    .private_args       = (struct iw_priv_args *) ieee80211_priv_args,
    .num_private_args   = N(ieee80211_priv_args),
#if WIRELESS_EXT >= 17
    .get_wireless_stats = ieee80211_iw_getstats,
#undef N

because get_wireless_stats is now expected to be in struct iw_handler_def, but
it is not. get_wireless_stats moved into struct iw_handler_def from struct
net_device between versions 16 and 17 of the wireless extensions. The diff is here:

Comment 2 John W. Linville 2006-09-13 15:25:07 EDT
This is NOTABUG.  The relocating get_wireless_stats to iw_handler_def was 
optional for drivers in the upstream kernel under WE-17.  Leaving it in the 
netdev structure was perfectly acceptable.  Moving it breaks kABI guarantees 
in RHEL only for the benefit for those who are recompiling anyway (and hence 
should be capable of making minor source changes as necessary).

Note You need to log in before you can comment on or make changes to this bug.