Linux wireless drivers development
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: "Luis R. Rodriguez" <mcgrof@gmail.com>
Cc: Hauke Mehrtens <hauke@hauke-m.de>,
	linux-wireless <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH] compat-wireless: add iwlwifi RCU compat
Date: Wed, 16 Nov 2011 08:51:08 +0100	[thread overview]
Message-ID: <1321429868.4773.6.camel@jlt3.sipsolutions.net> (raw)
In-Reply-To: <1318925272.3958.5.camel@jlt3.sipsolutions.net> (sfid-20111018_100806_415009_C55DA618)

On Tue, 2011-10-18 at 10:07 +0200, Johannes Berg wrote:
> From: Johannes Berg <johannes.berg@intel.com>
> 
> We need to patch the new kfree_rcu() reference in
> iwlwifi out and add rcu_barrier() to make it safe.

Ping. Need to apply this now, see
http://mid.gmane.org/20111116104133.E58B.2E210E2F@nifty.com

johannes

> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
> ---
> Obviously the patch needing this isn't upstream yet, but I wanted to
> give you this patch for when it comes upstream. If you prefer we hold
> the compat patch and send it together with the kernel patch let me know
> we can try to do that.
> 
> diff --git a/patches/41-no-kfree-rcu.patch b/patches/41-no-kfree-rcu.patch
> index c18b50d..37c5c1b 100644
> --- a/patches/41-no-kfree-rcu.patch
> +++ b/patches/41-no-kfree-rcu.patch
> @@ -81,3 +81,42 @@
>   
>   static int ieee80211_compatible_rates(const u8 *supp_rates, int supp_rates_len,
>   				      struct ieee80211_supported_band *sband,
> +--- a/drivers/net/wireless/iwlwifi/iwl-agn-rx.c	2011-10-17 18:29:19.000000000 +0200
> ++++ b/drivers/net/wireless/iwlwifi/iwl-agn-rx.c	2011-10-18 10:00:27.000000000 +0200
> +@@ -1032,6 +1032,14 @@ static int iwlagn_rx_reply_rx(struct iwl
> + 	return 0;
> + }
> + 
> ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,40))
> ++static void kfree_noa_data(struct rcu_head *head)
> ++{
> ++	void *data = container_of(head, struct iwl_wipan_noa_data, rcu_head);
> ++	kfree(data);
> ++}
> ++#endif
> ++
> + static int iwlagn_rx_noa_notification(struct iwl_priv *priv,
> + 				      struct iwl_rx_mem_buffer *rxb,
> + 				      struct iwl_device_cmd *cmd)
> +@@ -1071,7 +1079,11 @@ static int iwlagn_rx_noa_notification(st
> + 	rcu_assign_pointer(priv->noa_data, new_data);
> + 
> + 	if (old_data)
> ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,40))
> ++		call_rcu(&old_data->rcu_head, kfree_noa_data);
> ++#else
> + 		kfree_rcu(old_data, rcu_head);
> ++#endif
> + 
> + 	return 0;
> + }
> +--- a/drivers/net/wireless/iwlwifi/iwl-agn.c	2011-10-17 18:29:19.000000000 +0200
> ++++ b/drivers/net/wireless/iwlwifi/iwl-agn.c	2011-10-18 10:00:44.000000000 +0200
> +@@ -3460,6 +3460,7 @@ static void __exit iwl_exit(void)
> + {
> + 	iwl_pci_unregister_driver();
> + 	iwlagn_rate_control_unregister();
> ++	rcu_barrier();
> + }
> + 
> + module_exit(iwl_exit);
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 



  reply	other threads:[~2011-11-16  7:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-18  8:07 [PATCH] compat-wireless: add iwlwifi RCU compat Johannes Berg
2011-11-16  7:51 ` Johannes Berg [this message]
2011-11-16  7:57   ` Johannes Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1321429868.4773.6.camel@jlt3.sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=hauke@hauke-m.de \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mcgrof@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox