[Hardy LUM] SRU request #258344 (fixup)

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[Hardy LUM] SRU request #258344 (fixup)

Stefan Bader-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

SRU justification:

Impact: The new r8187 driver (or better the ieee80211_rtl module duplicates
symbols from the kernel ieee80211 module. This prevents loading of that modules
and so prevents for example the ipw2200 driver from loading.

Fix: I submitted a patch that lets me load (unfortunately not test the rtl
modules) both drivers in parallel (and get me my wireless back). This defines
are essentially an extension to what has been already done for some other symbols.

Testcase: Without the patch, loading the ieee80211 module will complain that it
tries to export a symbol already exported by ieee80211_rtl. With it both stack
can be loaded at the same time without any warnings.

- --

When all other means of communication fail, try words!


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIsaxDP+TjRTJVqvQRAhFOAKCgK0y92rP5UC9zWTAsiSub/vjq+wCfdjKX
NaQ1NCiPri8JlhDUwZXZm7w=
=9J3F
-----END PGP SIGNATURE-----

diff --git a/ubuntu/wireless/rtl8187-usb/ieee80211/ieee80211.h b/ubuntu/wireless/rtl8187-usb/ieee80211/ieee80211.h
index d68ca96..f0268bd 100644
--- a/ubuntu/wireless/rtl8187-usb/ieee80211/ieee80211.h
+++ b/ubuntu/wireless/rtl8187-usb/ieee80211/ieee80211.h
@@ -140,6 +140,59 @@ typedef enum{false = 0, true} bool;
 #define ieee80211_unregister_crypto_ops ieee80211_unregister_crypto_ops_rtl
 #define ieee80211_crypt_deinit_entries ieee80211_crypt_deinit_entries_rtl
 #define ieee80211_crypt_deinit_handler ieee80211_crypt_deinit_handler_rtl
+#define ieee80211_txb_free ieee80211_txb_free_rtl
+#define ieee80211_ccmp_null ieee80211_ccmp_null_rtl
+#define ieee80211_tkip_null ieee80211_tkip_null_rtl
+#define ieee80211_wep_null ieee80211_wep_null_rtl
+#define ieee80211_rx_mgt ieee80211_rx_mgt_rtl
+#define ieee80211_network_init ieee80211_network_init_rtl
+#define ieee_ext_skb_p80211_to_ether ieee_ext_skb_p80211_to_ether_rtl
+#define ieee80211_get_beacon ieee80211_get_beacon_rtl
+#define ieee80211_reset_queue ieee80211_reset_queue_rtl
+#define ieee80211_softmac_stop_protocol ieee80211_softmac_stop_protocol_rtl
+#define ieee80211_softmac_start_protocol ieee80211_softmac_start_protocol_rtl
+#define ieee80211_is_shortslot ieee80211_is_shortslot_rtl
+#define ieee80211_is_54g ieee80211_is_54g_rtl
+#define ieee80211_wpa_supplicant_ioctl ieee80211_wpa_supplicant_ioctl_rtl
+#define ieee80211_ps_tx_ack ieee80211_ps_tx_ack_rtl
+#define notify_wx_assoc_event notify_wx_assoc_event_rtl
+#define ieee80211_stop_send_beacons ieee80211_stop_send_beacons_rtl
+#define ieee80211_start_send_beacons ieee80211_start_send_beacons_rtl
+#define ieee80211_start_scan_syncro ieee80211_start_scan_syncro_rtl
+#define ieee80211_start_protocol ieee80211_start_protocol_rtl
+#define ieee80211_stop_protocol ieee80211_stop_protocol_rtl
+#define ieee80211_ext_issue_assoc_req ieee80211_ext_issue_assoc_req_rtl
+#define ieee80211_ext_issue_disassoc ieee80211_ext_issue_disassoc_rtl
+#define ieee80211_ext_issue_assoc_rsp ieee80211_ext_issue_assoc_rsp_rtl
+#define softmac_mgmt_xmit softmac_mgmt_xmit_rtl
+#define ieee80211_ext_probe_resp_by_net ieee80211_ext_probe_resp_by_net_rtl
+#define ieee80211_stop_scan ieee80211_stop_scan_rtl
+#define ieee80211_ext_send_11s_beacon ieee80211_ext_send_11s_beacon_rtl
+#define ieee80211_rx_auth_rq ieee80211_rx_auth_rq_rtl
+#define ieee80211_associate_step1 ieee80211_associate_step1_rtl
+#define ieee80211_sta_ps_send_null_frame ieee80211_sta_ps_send_null_frame_rtl
+#define ieee80211_wx_get_essid ieee80211_wx_get_essid_rtl
+#define ieee80211_wx_set_essid ieee80211_wx_set_essid_rtl
+#define ieee80211_wx_set_rate ieee80211_wx_set_rate_rtl
+#define ieee80211_wx_get_rate ieee80211_wx_get_rate_rtl
+#define ieee80211_wx_set_wap ieee80211_wx_set_wap_rtl
+#define ieee80211_wx_get_wap ieee80211_wx_get_wap_rtl
+#define ieee80211_wx_set_mode ieee80211_wx_set_mode_rtl
+#define ieee80211_wx_get_mode ieee80211_wx_get_mode_rtl
+#define ieee80211_wx_set_scan ieee80211_wx_set_scan_rtl
+#define ieee80211_wx_get_freq ieee80211_wx_get_freq_rtl
+#define ieee80211_wx_set_freq ieee80211_wx_set_freq_rtl
+#define ieee80211_wx_set_rawtx ieee80211_wx_set_rawtx_rtl
+#define ieee80211_wx_set_power ieee80211_wx_set_power_rtl
+#define ieee80211_wx_get_power ieee80211_wx_get_power_rtl
+#define ieee80211_wlan_frequencies ieee80211_wlan_frequencies_rtl
+#define ieee80211_alloc_txb ieee80211_alloc_txb_rtl
+#define ieee80211_ext_alloc_txb ieee80211_ext_alloc_txb_rtl
+#define ieee80211_ext_reuse_txb ieee80211_ext_reuse_txb_rtl
+#define ieee80211_encrypt_fragment ieee80211_encrypt_fragment_rtl
+#define ieee80211_wx_set_gen_ie ieee80211_wx_set_gen_ie_rtl
+#define ieee80211_wx_set_mlme ieee80211_wx_set_mlme_rtl
+#define ieee80211_wx_set_encode_ext ieee80211_wx_set_encode_ext_rtl
 typedef struct ieee_param {
  u32 cmd;
  u8 sta_addr[ETH_ALEN];
diff --git a/ubuntu/wireless/rtl8187-usb/rtl8187/ieee80211.h b/ubuntu/wireless/rtl8187-usb/rtl8187/ieee80211.h
index d68ca96..f0268bd 100644
--- a/ubuntu/wireless/rtl8187-usb/rtl8187/ieee80211.h
+++ b/ubuntu/wireless/rtl8187-usb/rtl8187/ieee80211.h
@@ -140,6 +140,59 @@ typedef enum{false = 0, true} bool;
 #define ieee80211_unregister_crypto_ops ieee80211_unregister_crypto_ops_rtl
 #define ieee80211_crypt_deinit_entries ieee80211_crypt_deinit_entries_rtl
 #define ieee80211_crypt_deinit_handler ieee80211_crypt_deinit_handler_rtl
+#define ieee80211_txb_free ieee80211_txb_free_rtl
+#define ieee80211_ccmp_null ieee80211_ccmp_null_rtl
+#define ieee80211_tkip_null ieee80211_tkip_null_rtl
+#define ieee80211_wep_null ieee80211_wep_null_rtl
+#define ieee80211_rx_mgt ieee80211_rx_mgt_rtl
+#define ieee80211_network_init ieee80211_network_init_rtl
+#define ieee_ext_skb_p80211_to_ether ieee_ext_skb_p80211_to_ether_rtl
+#define ieee80211_get_beacon ieee80211_get_beacon_rtl
+#define ieee80211_reset_queue ieee80211_reset_queue_rtl
+#define ieee80211_softmac_stop_protocol ieee80211_softmac_stop_protocol_rtl
+#define ieee80211_softmac_start_protocol ieee80211_softmac_start_protocol_rtl
+#define ieee80211_is_shortslot ieee80211_is_shortslot_rtl
+#define ieee80211_is_54g ieee80211_is_54g_rtl
+#define ieee80211_wpa_supplicant_ioctl ieee80211_wpa_supplicant_ioctl_rtl
+#define ieee80211_ps_tx_ack ieee80211_ps_tx_ack_rtl
+#define notify_wx_assoc_event notify_wx_assoc_event_rtl
+#define ieee80211_stop_send_beacons ieee80211_stop_send_beacons_rtl
+#define ieee80211_start_send_beacons ieee80211_start_send_beacons_rtl
+#define ieee80211_start_scan_syncro ieee80211_start_scan_syncro_rtl
+#define ieee80211_start_protocol ieee80211_start_protocol_rtl
+#define ieee80211_stop_protocol ieee80211_stop_protocol_rtl
+#define ieee80211_ext_issue_assoc_req ieee80211_ext_issue_assoc_req_rtl
+#define ieee80211_ext_issue_disassoc ieee80211_ext_issue_disassoc_rtl
+#define ieee80211_ext_issue_assoc_rsp ieee80211_ext_issue_assoc_rsp_rtl
+#define softmac_mgmt_xmit softmac_mgmt_xmit_rtl
+#define ieee80211_ext_probe_resp_by_net ieee80211_ext_probe_resp_by_net_rtl
+#define ieee80211_stop_scan ieee80211_stop_scan_rtl
+#define ieee80211_ext_send_11s_beacon ieee80211_ext_send_11s_beacon_rtl
+#define ieee80211_rx_auth_rq ieee80211_rx_auth_rq_rtl
+#define ieee80211_associate_step1 ieee80211_associate_step1_rtl
+#define ieee80211_sta_ps_send_null_frame ieee80211_sta_ps_send_null_frame_rtl
+#define ieee80211_wx_get_essid ieee80211_wx_get_essid_rtl
+#define ieee80211_wx_set_essid ieee80211_wx_set_essid_rtl
+#define ieee80211_wx_set_rate ieee80211_wx_set_rate_rtl
+#define ieee80211_wx_get_rate ieee80211_wx_get_rate_rtl
+#define ieee80211_wx_set_wap ieee80211_wx_set_wap_rtl
+#define ieee80211_wx_get_wap ieee80211_wx_get_wap_rtl
+#define ieee80211_wx_set_mode ieee80211_wx_set_mode_rtl
+#define ieee80211_wx_get_mode ieee80211_wx_get_mode_rtl
+#define ieee80211_wx_set_scan ieee80211_wx_set_scan_rtl
+#define ieee80211_wx_get_freq ieee80211_wx_get_freq_rtl
+#define ieee80211_wx_set_freq ieee80211_wx_set_freq_rtl
+#define ieee80211_wx_set_rawtx ieee80211_wx_set_rawtx_rtl
+#define ieee80211_wx_set_power ieee80211_wx_set_power_rtl
+#define ieee80211_wx_get_power ieee80211_wx_get_power_rtl
+#define ieee80211_wlan_frequencies ieee80211_wlan_frequencies_rtl
+#define ieee80211_alloc_txb ieee80211_alloc_txb_rtl
+#define ieee80211_ext_alloc_txb ieee80211_ext_alloc_txb_rtl
+#define ieee80211_ext_reuse_txb ieee80211_ext_reuse_txb_rtl
+#define ieee80211_encrypt_fragment ieee80211_encrypt_fragment_rtl
+#define ieee80211_wx_set_gen_ie ieee80211_wx_set_gen_ie_rtl
+#define ieee80211_wx_set_mlme ieee80211_wx_set_mlme_rtl
+#define ieee80211_wx_set_encode_ext ieee80211_wx_set_encode_ext_rtl
 typedef struct ieee_param {
  u32 cmd;
  u8 sta_addr[ETH_ALEN];

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: [Hardy LUM] SRU request #258344 (fixup)

Tim Gardner-2
Stefan Bader wrote:

> SRU justification:
>
> Impact: The new r8187 driver (or better the ieee80211_rtl module duplicates
> symbols from the kernel ieee80211 module. This prevents loading of that modules
> and so prevents for example the ipw2200 driver from loading.
>
> Fix: I submitted a patch that lets me load (unfortunately not test the rtl
> modules) both drivers in parallel (and get me my wireless back). This defines
> are essentially an extension to what has been already done for some other symbols.
>
> Testcase: Without the patch, loading the ieee80211 module will complain that it
> tries to export a symbol already exported by ieee80211_rtl. With it both stack
> can be loaded at the same time without any warnings.
>

Oops - I think I caused this problem. How about a script to munge the
public symbols in case we have to update this driver someday?

rtg
--
Tim Gardner [hidden email]

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: [Hardy LUM] SRU request #258344 (fixup)

Stefan Bader-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Tim Gardner wrote:

> Stefan Bader wrote:
>> SRU justification:
>>
>> Impact: The new r8187 driver (or better the ieee80211_rtl module duplicates
>> symbols from the kernel ieee80211 module. This prevents loading of that modules
>> and so prevents for example the ipw2200 driver from loading.
>>
>> Fix: I submitted a patch that lets me load (unfortunately not test the rtl
>> modules) both drivers in parallel (and get me my wireless back). This defines
>> are essentially an extension to what has been already done for some other symbols.
>>
>> Testcase: Without the patch, loading the ieee80211 module will complain that it
>> tries to export a symbol already exported by ieee80211_rtl. With it both stack
>> can be loaded at the same time without any warnings.
>>
>
> Oops - I think I caused this problem. How about a script to munge the
> public symbols in case we have to update this driver someday?
>
> rtg

I added a script to the BOM file that helps to find missing symbols and some
comment about that. The actual modification is better done manually.

Stefan

- --

When all other means of communication fail, try words!


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIsr9sP+TjRTJVqvQRAnkLAKDzzbb45nFgNTTFVvxp2yM0E5VxHQCgvEYe
Ta0NI+qzdDI2Jw/b9cVHVPE=
=L5f3
-----END PGP SIGNATURE-----

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: [Hardy LUM] SRU request #258344 (fixup)

Tim Gardner-2
Stefan Bader wrote:

> Tim Gardner wrote:
>> Stefan Bader wrote:
>>> SRU justification:
>>>
>>> Impact: The new r8187 driver (or better the ieee80211_rtl module duplicates
>>> symbols from the kernel ieee80211 module. This prevents loading of that modules
>>> and so prevents for example the ipw2200 driver from loading.
>>>
>>> Fix: I submitted a patch that lets me load (unfortunately not test the rtl
>>> modules) both drivers in parallel (and get me my wireless back). This defines
>>> are essentially an extension to what has been already done for some other symbols.
>>>
>>> Testcase: Without the patch, loading the ieee80211 module will complain that it
>>> tries to export a symbol already exported by ieee80211_rtl. With it both stack
>>> can be loaded at the same time without any warnings.
>>>
>> Oops - I think I caused this problem. How about a script to munge the
>> public symbols in case we have to update this driver someday?
>
>> rtg
>
> I added a script to the BOM file that helps to find missing symbols and some
> comment about that. The actual modification is better done manually.
>
> Stefan
>

ACK - uploaded linux-ubuntu-modules-2.6.24_2.6.24-21.32

linux-ubuntu-modules-2.6.24 (2.6.24-21.32) hardy-proposed; urgency=low

  [Stefan Bader]

  * Fix ieee80211_rtl to coexist with ieee80211
    - LP: #258344

 -- Stefan Bader <[hidden email]>  Sun, 24 Aug 2008 14:23:45
-0400
--
Tim Gardner [hidden email]

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team