Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7bab3ae7 authored by David S. Miller's avatar David S. Miller
Browse files


John W. Linville says:

====================
Alexey Khoroshilov provides a potential memory leak in rndis_wlan.

Bob Copeland gives us an ath5k fix for a lockdep problem.

Dan Carpenter fixes a signedness mismatch in at76c50x.

Felix Fietkau corrects a regression caused by an earlier commit that can
lead to an IRQ storm.

Lorenzo Bianconi offers a fix for a bad variable initialization in ath9k
that can cause it to improperly mark decrypted frames.

Rajkumar Manoharan fixes ath9k to prevent the btcoex time from running
when the hardware is asleep.

The remainder are Bluetooth fixes, about which Gustavo says:

	"Here goes some fixes for 3.6-rc1, there are a few fix to
	thte inquiry code by Ram Malovany, support for 2 new devices,
	and few others fixes for NULL dereference, possible deadlock
	and a memory leak."
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 4acd4945 1e55217e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ static struct usb_device_id ath3k_table[] = {
	{ USB_DEVICE(0x13d3, 0x3362) },
	{ USB_DEVICE(0x0CF3, 0xE004) },
	{ USB_DEVICE(0x0930, 0x0219) },
	{ USB_DEVICE(0x0489, 0xe057) },

	/* Atheros AR5BBU12 with sflash firmware */
	{ USB_DEVICE(0x0489, 0xE02C) },
@@ -104,6 +105,7 @@ static struct usb_device_id ath3k_blist_tbl[] = {
	{ USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 },

	/* Atheros AR5BBU22 with sflash firmware */
	{ USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 },
+2 −0
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@ static struct usb_device_id btusb_table[] = {
	{ USB_DEVICE(0x0a5c, 0x21e6) },
	{ USB_DEVICE(0x0a5c, 0x21e8) },
	{ USB_DEVICE(0x0a5c, 0x21f3) },
	{ USB_DEVICE(0x0a5c, 0x21f4) },
	{ USB_DEVICE(0x413c, 0x8197) },

	/* Foxconn - Hon Hai */
@@ -133,6 +134,7 @@ static struct usb_device_id blacklist_table[] = {
	{ USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 },

	/* Atheros AR5BBU12 with sflash firmware */
	{ USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE },
+1 −1
Original line number Diff line number Diff line
@@ -342,7 +342,7 @@ static int at76_dfu_get_status(struct usb_device *udev,
	return ret;
}

static u8 at76_dfu_get_state(struct usb_device *udev, u8 *state)
static int at76_dfu_get_state(struct usb_device *udev, u8 *state)
{
	int ret;

+2 −4
Original line number Diff line number Diff line
@@ -2056,9 +2056,7 @@ ath5k_beacon_update_timers(struct ath5k_hw *ah, u64 bc_tsf)
void
ath5k_beacon_config(struct ath5k_hw *ah)
{
	unsigned long flags;

	spin_lock_irqsave(&ah->block, flags);
	spin_lock_bh(&ah->block);
	ah->bmisscount = 0;
	ah->imask &= ~(AR5K_INT_BMISS | AR5K_INT_SWBA);

@@ -2085,7 +2083,7 @@ ath5k_beacon_config(struct ath5k_hw *ah)

	ath5k_hw_set_imr(ah, ah->imask);
	mmiowb();
	spin_unlock_irqrestore(&ah->block, flags);
	spin_unlock_bh(&ah->block);
}

static void ath5k_tasklet_beacon(unsigned long data)
+2 −3
Original line number Diff line number Diff line
@@ -254,7 +254,6 @@ ath5k_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
	struct ath5k_vif *avf = (void *)vif->drv_priv;
	struct ath5k_hw *ah = hw->priv;
	struct ath_common *common = ath5k_hw_common(ah);
	unsigned long flags;

	mutex_lock(&ah->lock);

@@ -300,9 +299,9 @@ ath5k_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
	}

	if (changes & BSS_CHANGED_BEACON) {
		spin_lock_irqsave(&ah->block, flags);
		spin_lock_bh(&ah->block);
		ath5k_beacon_update(hw, vif);
		spin_unlock_irqrestore(&ah->block, flags);
		spin_unlock_bh(&ah->block);
	}

	if (changes & BSS_CHANGED_BEACON_ENABLED)
Loading