Search Linux Wireless

Re: [PATCH 3/4] mac80211: document requirement for atomicity of callbacks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sunday 29 April 2007 02:33:45 Jiri Benc wrote:
> @@ -631,7 +632,8 @@ struct ieee80211_ops {
>  	 * we need to combine the multicast lists and flags for multiple
>  	 * virtual interfaces), they cannot assign set_multicast_list.
>  	 * The parameters here replace dev->flags and dev->mc_count,
> -	 * dev->mc_list is replaced by calling ieee80211_get_mc_list_item. */
> +	 * dev->mc_list is replaced by calling ieee80211_get_mc_list_item.
> +	 * Must be atomic. */
>  	void (*set_multicast_list)(struct ieee80211_hw *hw,
>  				   unsigned short flags, int mc_count);

Why is that required to be atomic, actually?

>  	/* Set encryption key. IEEE 802.11 module calls this function to set
> @@ -647,7 +650,8 @@ struct ieee80211_ops {
>  	 * station hwaddr for individual keys. aid of the station is given
>  	 * to help low-level driver in selecting which key->hw_key_idx to use
>  	 * for this key. TX control data will use the hw_key_idx selected by
> -	 * the low-level driver. */
> +	 * the low-level driver.
> +	 * Must be atomic. */
>  	int (*set_key)(struct ieee80211_hw *hw, set_key_cmd cmd,
>  		       u8 *addr, struct ieee80211_key_conf *key, int aid);

I think USB drivers and bcm43xx violate that. We can't easily workaround it
without doing the operation async.


-- 
Greetings Michael.
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux