diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-23 11:47:02 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-23 11:47:02 -0700 | 
| commit | 5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0 (patch) | |
| tree | 7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29 /drivers/net/wireless/b43/main.c | |
| parent | 02f36038c568111ad4fc433f6fa760ff5e38fab4 (diff) | |
| parent | ec37a48d1d16c30b655ac5280209edf52a6775d4 (diff) | |
| download | olio-linux-3.10-5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0.tar.xz olio-linux-3.10-5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0.zip  | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)
  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.
  vlan: Calling vlan_hwaccel_do_receive() is always valid.
  tproxy: use the interface primary IP address as a default value for --on-ip
  tproxy: added IPv6 support to the socket match
  cxgb3: function namespace cleanup
  tproxy: added IPv6 support to the TPROXY target
  tproxy: added IPv6 socket lookup function to nf_tproxy_core
  be2net: Changes to use only priority codes allowed by f/w
  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled
  tproxy: added tproxy sockopt interface in the IPV6 layer
  tproxy: added udp6_lib_lookup function
  tproxy: added const specifiers to udp lookup functions
  tproxy: split off ipv6 defragmentation to a separate module
  l2tp: small cleanup
  nf_nat: restrict ICMP translation for embedded header
  can: mcp251x: fix generation of error frames
  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set
  can-raw: add msg_flags to distinguish local traffic
  9p: client code cleanup
  rds: make local functions/variables static
  ...
Fix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and
drivers/net/wireless/ath/ath9k/debug.c as per David
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
| -rw-r--r-- | drivers/net/wireless/b43/main.c | 30 | 
1 files changed, 20 insertions, 10 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 20631ae2ddd..a1186525c70 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c @@ -2280,6 +2280,7 @@ out:  static int b43_upload_microcode(struct b43_wldev *dev)  { +	struct wiphy *wiphy = dev->wl->hw->wiphy;  	const size_t hdr_len = sizeof(struct b43_fw_header);  	const __be32 *data;  	unsigned int i, len; @@ -2405,6 +2406,10 @@ static int b43_upload_microcode(struct b43_wldev *dev)  		}  	} +	snprintf(wiphy->fw_version, sizeof(wiphy->fw_version), "%u.%u", +			dev->fw.rev, dev->fw.patch); +	wiphy->hw_version = dev->dev->id.coreid; +  	if (b43_is_old_txhdr_format(dev)) {  		/* We're over the deadline, but we keep support for old fw  		 * until it turns out to be in major conflict with something new. */ @@ -3754,17 +3759,17 @@ static int b43_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,  	}  	err = -EINVAL; -	switch (key->alg) { -	case ALG_WEP: -		if (key->keylen == WLAN_KEY_LEN_WEP40) -			algorithm = B43_SEC_ALGO_WEP40; -		else -			algorithm = B43_SEC_ALGO_WEP104; +	switch (key->cipher) { +	case WLAN_CIPHER_SUITE_WEP40: +		algorithm = B43_SEC_ALGO_WEP40; +		break; +	case WLAN_CIPHER_SUITE_WEP104: +		algorithm = B43_SEC_ALGO_WEP104;  		break; -	case ALG_TKIP: +	case WLAN_CIPHER_SUITE_TKIP:  		algorithm = B43_SEC_ALGO_TKIP;  		break; -	case ALG_CCMP: +	case WLAN_CIPHER_SUITE_CCMP:  		algorithm = B43_SEC_ALGO_AES;  		break;  	default: @@ -4250,6 +4255,10 @@ static void b43_wireless_core_exit(struct b43_wldev *dev)  	B43_WARN_ON(dev && b43_status(dev) > B43_STAT_INITIALIZED);  	if (!dev || b43_status(dev) != B43_STAT_INITIALIZED)  		return; + +	/* Unregister HW RNG driver */ +	b43_rng_exit(dev->wl); +  	b43_set_status(dev, B43_STAT_UNINIT);  	/* Stop the microcode PSM. */ @@ -4379,6 +4388,9 @@ static int b43_wireless_core_init(struct b43_wldev *dev)  	b43_set_status(dev, B43_STAT_INITIALIZED); +	/* Register HW RNG driver */ +	b43_rng_init(dev->wl); +  out:  	return err; @@ -4984,7 +4996,6 @@ static int b43_probe(struct ssb_device *dev, const struct ssb_device_id *id)  		if (err)  			goto err_one_core_detach;  		b43_leds_register(wl->current_dev); -		b43_rng_init(wl);  	}        out: @@ -5020,7 +5031,6 @@ static void b43_remove(struct ssb_device *dev)  	b43_one_core_detach(dev);  	if (list_empty(&wl->devlist)) { -		b43_rng_exit(wl);  		b43_leds_unregister(wl);  		/* Last core on the chip unregistered.  		 * We can destroy common struct b43_wl.  |