]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.18-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Jan 2015 21:32:57 +0000 (13:32 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Jan 2015 21:32:57 +0000 (13:32 -0800)
added patches:
bluetooth-6lowpan-fix-skb_unshare-behaviour.patch
bluetooth-ath3k-add-support-of-mci-13d3-3408-bt-device.patch
bluetooth-clear-le-white-list-when-resetting-controller.patch
bluetooth-fix-accepting-connections-when-not-using-mgmt.patch
bluetooth-fix-check-for-direct-advertising.patch
bluetooth-fix-controller-configuration-with-hci_quirk_invalid_bdaddr.patch
bluetooth-fix-le-connection-timeout-deadlock.patch
pci-restore-detection-of-read-only-bars.patch

queue-3.18/bluetooth-6lowpan-fix-skb_unshare-behaviour.patch [new file with mode: 0644]
queue-3.18/bluetooth-ath3k-add-support-of-mci-13d3-3408-bt-device.patch [new file with mode: 0644]
queue-3.18/bluetooth-clear-le-white-list-when-resetting-controller.patch [new file with mode: 0644]
queue-3.18/bluetooth-fix-accepting-connections-when-not-using-mgmt.patch [new file with mode: 0644]
queue-3.18/bluetooth-fix-check-for-direct-advertising.patch [new file with mode: 0644]
queue-3.18/bluetooth-fix-controller-configuration-with-hci_quirk_invalid_bdaddr.patch [new file with mode: 0644]
queue-3.18/bluetooth-fix-le-connection-timeout-deadlock.patch [new file with mode: 0644]
queue-3.18/pci-restore-detection-of-read-only-bars.patch [new file with mode: 0644]
queue-3.18/series

diff --git a/queue-3.18/bluetooth-6lowpan-fix-skb_unshare-behaviour.patch b/queue-3.18/bluetooth-6lowpan-fix-skb_unshare-behaviour.patch
new file mode 100644 (file)
index 0000000..25cd0dc
--- /dev/null
@@ -0,0 +1,47 @@
+From b0c42cd7b210efc74aa4bfc3e39a2814dfaa9b89 Mon Sep 17 00:00:00 2001
+From: Alexander Aring <alex.aring@gmail.com>
+Date: Wed, 8 Oct 2014 10:24:53 +0200
+Subject: Bluetooth: 6lowpan: fix skb_unshare behaviour
+
+From: Alexander Aring <alex.aring@gmail.com>
+
+commit b0c42cd7b210efc74aa4bfc3e39a2814dfaa9b89 upstream.
+
+This patch reverts commit:
+
+a7807d73 ("Bluetooth: 6lowpan: Avoid memory leak if memory allocation
+fails")
+
+which was wrong suggested by Alexander Aring. The function skb_unshare
+run also kfree_skb on failure.
+
+Signed-off-by: Alexander Aring <alex.aring@gmail.com>
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/bluetooth/6lowpan.c |    8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+--- a/net/bluetooth/6lowpan.c
++++ b/net/bluetooth/6lowpan.c
+@@ -591,17 +591,13 @@ static netdev_tx_t bt_xmit(struct sk_buf
+       int err = 0;
+       bdaddr_t addr;
+       u8 addr_type;
+-      struct sk_buff *tmpskb;
+       /* We must take a copy of the skb before we modify/replace the ipv6
+        * header as the header could be used elsewhere
+        */
+-      tmpskb = skb_unshare(skb, GFP_ATOMIC);
+-      if (!tmpskb) {
+-              kfree_skb(skb);
++      skb = skb_unshare(skb, GFP_ATOMIC);
++      if (!skb)
+               return NET_XMIT_DROP;
+-      }
+-      skb = tmpskb;
+       /* Return values from setup_header()
+        *  <0 - error, packet is dropped
diff --git a/queue-3.18/bluetooth-ath3k-add-support-of-mci-13d3-3408-bt-device.patch b/queue-3.18/bluetooth-ath3k-add-support-of-mci-13d3-3408-bt-device.patch
new file mode 100644 (file)
index 0000000..f9b3ef4
--- /dev/null
@@ -0,0 +1,77 @@
+From 3bb30a7cdf9242aca90d49aa41baebf9458f96f0 Mon Sep 17 00:00:00 2001
+From: Dmitry Tunin <hanipouspilot@gmail.com>
+Date: Tue, 25 Nov 2014 20:19:52 +0300
+Subject: Bluetooth: ath3k: Add support of MCI 13d3:3408 bt device
+
+From: Dmitry Tunin <hanipouspilot@gmail.com>
+
+commit 3bb30a7cdf9242aca90d49aa41baebf9458f96f0 upstream.
+
+Add support for Bluetooth MCI WB335 (AR9565) Wi-Fi+bt module. This
+Bluetooth module requires loading patch and sysconfig by ath3k driver.
+
+T:  Bus=01 Lev=02 Prnt=03 Port=00 Cnt=01 Dev#= 20 Spd=12   MxCh= 0
+D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
+P:  Vendor=13d3 ProdID=3408 Rev= 0.02
+C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
+A:  FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=01
+I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
+E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
+E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
+I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
+E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
+I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
+E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
+I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
+E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
+I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
+E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
+I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
+E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
+I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
+E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
+E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
+
+Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com>
+Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/bluetooth/ath3k.c |    2 ++
+ drivers/bluetooth/btusb.c |    1 +
+ 2 files changed, 3 insertions(+)
+
+--- a/drivers/bluetooth/ath3k.c
++++ b/drivers/bluetooth/ath3k.c
+@@ -105,6 +105,7 @@ static const struct usb_device_id ath3k_
+       { USB_DEVICE(0x13d3, 0x3375) },
+       { USB_DEVICE(0x13d3, 0x3393) },
+       { USB_DEVICE(0x13d3, 0x3402) },
++      { USB_DEVICE(0x13d3, 0x3408) },
+       { USB_DEVICE(0x13d3, 0x3432) },
+       /* Atheros AR5BBU12 with sflash firmware */
+@@ -156,6 +157,7 @@ static const struct usb_device_id ath3k_
+       { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 },
+       { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 },
+       { USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 },
++      { USB_DEVICE(0x13d3, 0x3408), .driver_info = BTUSB_ATH3012 },
+       { USB_DEVICE(0x13d3, 0x3432), .driver_info = BTUSB_ATH3012 },
+       /* Atheros AR5BBU22 with sflash firmware */
+--- a/drivers/bluetooth/btusb.c
++++ b/drivers/bluetooth/btusb.c
+@@ -182,6 +182,7 @@ static const struct usb_device_id blackl
+       { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 },
+       { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 },
+       { USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 },
++      { USB_DEVICE(0x13d3, 0x3408), .driver_info = BTUSB_ATH3012 },
+       { USB_DEVICE(0x13d3, 0x3432), .driver_info = BTUSB_ATH3012 },
+       /* Atheros AR5BBU12 with sflash firmware */
diff --git a/queue-3.18/bluetooth-clear-le-white-list-when-resetting-controller.patch b/queue-3.18/bluetooth-clear-le-white-list-when-resetting-controller.patch
new file mode 100644 (file)
index 0000000..60583db
--- /dev/null
@@ -0,0 +1,37 @@
+From a4d5504d5c39cc84f1f828e19967595597a8136e Mon Sep 17 00:00:00 2001
+From: Marcel Holtmann <marcel@holtmann.org>
+Date: Wed, 29 Oct 2014 23:37:53 +0100
+Subject: Bluetooth: Clear LE white list when resetting controller
+
+From: Marcel Holtmann <marcel@holtmann.org>
+
+commit a4d5504d5c39cc84f1f828e19967595597a8136e upstream.
+
+The internal representation of the LE white list needs to be cleared
+when receiving a successful HCI_Reset command. A reset of the controller
+is expected to start with an empty LE white list.
+
+When the LE white list is not cleared on controller reset, the passive
+background scanning might skip programming the remote devices. Only
+changes to the LE white list are programmed when passive background
+is started.
+
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/bluetooth/hci_event.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/net/bluetooth/hci_event.c
++++ b/net/bluetooth/hci_event.c
+@@ -205,6 +205,8 @@ static void hci_cc_reset(struct hci_dev
+       hdev->le_scan_type = LE_SCAN_PASSIVE;
+       hdev->ssp_debug_mode = 0;
++
++      hci_bdaddr_list_clear(&hdev->le_white_list);
+ }
+ static void hci_cc_write_local_name(struct hci_dev *hdev, struct sk_buff *skb)
diff --git a/queue-3.18/bluetooth-fix-accepting-connections-when-not-using-mgmt.patch b/queue-3.18/bluetooth-fix-accepting-connections-when-not-using-mgmt.patch
new file mode 100644 (file)
index 0000000..e80d757
--- /dev/null
@@ -0,0 +1,43 @@
+From 6a8fc95c87110a466ee81675b41170b963f82bdb Mon Sep 17 00:00:00 2001
+From: Johan Hedberg <johan.hedberg@intel.com>
+Date: Wed, 24 Dec 2014 20:43:11 +0200
+Subject: Bluetooth: Fix accepting connections when not using mgmt
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Johan Hedberg <johan.hedberg@intel.com>
+
+commit 6a8fc95c87110a466ee81675b41170b963f82bdb upstream.
+
+When connectable mode is enabled (page scan on) through some non-mgmt
+method the HCI_CONNECTABLE flag will not be set. For backwards
+compatibility with user space versions not using mgmt we should not
+require HCI_CONNECTABLE to be set if HCI_MGMT is not set.
+
+Reported-by: Pali Rohár <pali.rohar@gmail.com>
+Tested-by: Pali Rohár <pali.rohar@gmail.com>
+Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/bluetooth/hci_event.c |    7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/net/bluetooth/hci_event.c
++++ b/net/bluetooth/hci_event.c
+@@ -2144,7 +2144,12 @@ static void hci_conn_request_evt(struct
+               return;
+       }
+-      if (!test_bit(HCI_CONNECTABLE, &hdev->dev_flags) &&
++      /* Require HCI_CONNECTABLE or a whitelist entry to accept the
++       * connection. These features are only touched through mgmt so
++       * only do the checks if HCI_MGMT is set.
++       */
++      if (test_bit(HCI_MGMT, &hdev->dev_flags) &&
++          !test_bit(HCI_CONNECTABLE, &hdev->dev_flags) &&
+           !hci_bdaddr_list_lookup(&hdev->whitelist, &ev->bdaddr,
+                                   BDADDR_BREDR)) {
+                   hci_reject_conn(hdev, &ev->bdaddr);
diff --git a/queue-3.18/bluetooth-fix-check-for-direct-advertising.patch b/queue-3.18/bluetooth-fix-check-for-direct-advertising.patch
new file mode 100644 (file)
index 0000000..f9210c0
--- /dev/null
@@ -0,0 +1,36 @@
+From 0b1db38ca26b322296cbd141f3080eccfe1cc3e1 Mon Sep 17 00:00:00 2001
+From: Johan Hedberg <johan.hedberg@intel.com>
+Date: Tue, 28 Oct 2014 22:23:27 +0100
+Subject: Bluetooth: Fix check for direct advertising
+
+From: Johan Hedberg <johan.hedberg@intel.com>
+
+commit 0b1db38ca26b322296cbd141f3080eccfe1cc3e1 upstream.
+
+These days we allow simultaneous LE scanning and advertising. Checking
+for whether advertising is enabled or not is therefore not a reliable
+way to determine whether directed advertising was used to trigger the
+connection creation. The appropriate place to check (instead of the hdev
+context) is the connection role that's stored in the hci_conn. This
+patch fixes such a check in le_conn_timeout() which could otherwise lead
+to incorrect HCI commands being sent.
+
+Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/bluetooth/hci_conn.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/net/bluetooth/hci_conn.c
++++ b/net/bluetooth/hci_conn.c
+@@ -415,7 +415,7 @@ static void le_conn_timeout(struct work_
+        * happen with broken hardware or if low duty cycle was used
+        * (which doesn't have a timeout of its own).
+        */
+-      if (test_bit(HCI_ADVERTISING, &hdev->dev_flags)) {
++      if (conn->role == HCI_ROLE_SLAVE) {
+               u8 enable = 0x00;
+               hci_send_cmd(hdev, HCI_OP_LE_SET_ADV_ENABLE, sizeof(enable),
+                            &enable);
diff --git a/queue-3.18/bluetooth-fix-controller-configuration-with-hci_quirk_invalid_bdaddr.patch b/queue-3.18/bluetooth-fix-controller-configuration-with-hci_quirk_invalid_bdaddr.patch
new file mode 100644 (file)
index 0000000..938510b
--- /dev/null
@@ -0,0 +1,68 @@
+From 8bfe8442ff20fdc2d965c197103d935a99bd3296 Mon Sep 17 00:00:00 2001
+From: Marcel Holtmann <marcel@holtmann.org>
+Date: Tue, 23 Dec 2014 23:10:48 +0100
+Subject: Bluetooth: Fix controller configuration with HCI_QUIRK_INVALID_BDADDR
+
+From: Marcel Holtmann <marcel@holtmann.org>
+
+commit 8bfe8442ff20fdc2d965c197103d935a99bd3296 upstream.
+
+When controllers set the HCI_QUIRK_INVALID_BDADDR flag, it is required
+by userspace to program a valid public Bluetooth device address into
+the controller before it can be used.
+
+After successful address configuration, the internal state changes and
+the controller runs the complete initialization procedure. However one
+small difference is that this is no longer the HCI_SETUP stage. The
+HCI_SETUP stage is only valid during initial controller setup. In this
+case the stack runs the initialization as part of the HCI_CONFIG stage.
+
+The controller version information, default name and supported commands
+are only stored during HCI_SETUP. While these information are static,
+they are not read initially when HCI_QUIRK_INVALID_BDADDR is set. So
+when running in HCI_CONFIG state, these information need to be updated
+as well.
+
+This especially impacts Bluetooth 4.1 and later controllers using
+extended feature pages and second event mask page.
+
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/bluetooth/hci_event.c |    9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+--- a/net/bluetooth/hci_event.c
++++ b/net/bluetooth/hci_event.c
+@@ -239,7 +239,8 @@ static void hci_cc_read_local_name(struc
+       if (rp->status)
+               return;
+-      if (test_bit(HCI_SETUP, &hdev->dev_flags))
++      if (test_bit(HCI_SETUP, &hdev->dev_flags) ||
++          test_bit(HCI_CONFIG, &hdev->dev_flags))
+               memcpy(hdev->dev_name, rp->name, HCI_MAX_NAME_LENGTH);
+ }
+@@ -494,7 +495,8 @@ static void hci_cc_read_local_version(st
+       if (rp->status)
+               return;
+-      if (test_bit(HCI_SETUP, &hdev->dev_flags)) {
++      if (test_bit(HCI_SETUP, &hdev->dev_flags) ||
++          test_bit(HCI_CONFIG, &hdev->dev_flags)) {
+               hdev->hci_ver = rp->hci_ver;
+               hdev->hci_rev = __le16_to_cpu(rp->hci_rev);
+               hdev->lmp_ver = rp->lmp_ver;
+@@ -513,7 +515,8 @@ static void hci_cc_read_local_commands(s
+       if (rp->status)
+               return;
+-      if (test_bit(HCI_SETUP, &hdev->dev_flags))
++      if (test_bit(HCI_SETUP, &hdev->dev_flags) ||
++          test_bit(HCI_CONFIG, &hdev->dev_flags))
+               memcpy(hdev->commands, rp->commands, sizeof(hdev->commands));
+ }
diff --git a/queue-3.18/bluetooth-fix-le-connection-timeout-deadlock.patch b/queue-3.18/bluetooth-fix-le-connection-timeout-deadlock.patch
new file mode 100644 (file)
index 0000000..5f7a79a
--- /dev/null
@@ -0,0 +1,34 @@
+From 980ffc0a2cec2c37589cc97993e1ad17252f4f47 Mon Sep 17 00:00:00 2001
+From: Johan Hedberg <johan.hedberg@intel.com>
+Date: Tue, 28 Oct 2014 22:23:26 +0100
+Subject: Bluetooth: Fix LE connection timeout deadlock
+
+From: Johan Hedberg <johan.hedberg@intel.com>
+
+commit 980ffc0a2cec2c37589cc97993e1ad17252f4f47 upstream.
+
+The le_conn_timeout() may call hci_le_conn_failed() which in turn may
+call hci_conn_del(). Trying to use the _sync variant for cancelling the
+conn timeout from hci_conn_del() could therefore result in a deadlock.
+This patch converts hci_conn_del() to use the non-sync variant so the
+deadlock is not possible.
+
+Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/bluetooth/hci_conn.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/net/bluetooth/hci_conn.c
++++ b/net/bluetooth/hci_conn.c
+@@ -517,7 +517,7 @@ int hci_conn_del(struct hci_conn *conn)
+               /* Unacked frames */
+               hdev->acl_cnt += conn->sent;
+       } else if (conn->type == LE_LINK) {
+-              cancel_delayed_work_sync(&conn->le_conn_timeout);
++              cancel_delayed_work(&conn->le_conn_timeout);
+               if (hdev->le_pkts)
+                       hdev->le_cnt += conn->sent;
diff --git a/queue-3.18/pci-restore-detection-of-read-only-bars.patch b/queue-3.18/pci-restore-detection-of-read-only-bars.patch
new file mode 100644 (file)
index 0000000..3108da2
--- /dev/null
@@ -0,0 +1,64 @@
+From 36e8164882ca6d3c41cb91e6f09a3ed236841f80 Mon Sep 17 00:00:00 2001
+From: Myron Stowe <myron.stowe@redhat.com>
+Date: Thu, 30 Oct 2014 11:54:37 -0600
+Subject: PCI: Restore detection of read-only BARs
+
+From: Myron Stowe <myron.stowe@redhat.com>
+
+commit 36e8164882ca6d3c41cb91e6f09a3ed236841f80 upstream.
+
+Commit 6ac665c63dca ("PCI: rewrite PCI BAR reading code") masked off
+low-order bits from 'l', but not from 'sz'.  Both are passed to pci_size(),
+which compares 'base == maxbase' to check for read-only BARs.  The masking
+of 'l' means that comparison will never be 'true', so the check for
+read-only BARs no longer works.
+
+Resolve this by also masking off the low-order bits of 'sz' before passing
+it into pci_size() as 'maxbase'.  With this change, pci_size() will once
+again catch the problems that have been encountered to date:
+
+  - AGP aperture BAR of AMD-7xx host bridges: if the AGP window is
+    disabled, this BAR is read-only and read as 0x00000008 [1]
+
+  - BARs 0-4 of ALi IDE controllers can be non-zero and read-only [1]
+
+  - Intel Sandy Bridge - Thermal Management Controller [8086:0103];
+    BAR 0 returning 0xfed98004 [2]
+
+  - Intel Xeon E5 v3/Core i7 Power Control Unit [8086:2fc0];
+    Bar 0 returning 0x00001a [3]
+
+Link: [1] https://git.kernel.org/cgit/linux/kernel/git/tglx/history.git/commit/drivers/pci/probe.c?id=1307ef6621991f1c4bc3cec1b5a4ebd6fd3d66b9 ("PCI: probing read-only BARs" (pre-git))
+Link: [2] https://bugzilla.kernel.org/show_bug.cgi?id=43331
+Link: [3] https://bugzilla.kernel.org/show_bug.cgi?id=85991
+Reported-by: William Unruh <unruh@physics.ubc.ca>
+Reported-by: Martin Lucina <martin@lucina.net>
+Signed-off-by: Myron Stowe <myron.stowe@redhat.com>
+Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
+CC: Matthew Wilcox <willy@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/pci/probe.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/pci/probe.c
++++ b/drivers/pci/probe.c
+@@ -216,14 +216,17 @@ int __pci_read_base(struct pci_dev *dev,
+               res->flags |= IORESOURCE_SIZEALIGN;
+               if (res->flags & IORESOURCE_IO) {
+                       l &= PCI_BASE_ADDRESS_IO_MASK;
++                      sz &= PCI_BASE_ADDRESS_IO_MASK;
+                       mask = PCI_BASE_ADDRESS_IO_MASK & (u32) IO_SPACE_LIMIT;
+               } else {
+                       l &= PCI_BASE_ADDRESS_MEM_MASK;
++                      sz &= PCI_BASE_ADDRESS_MEM_MASK;
+                       mask = (u32)PCI_BASE_ADDRESS_MEM_MASK;
+               }
+       } else {
+               res->flags |= (l & IORESOURCE_ROM_ENABLE);
+               l &= PCI_ROM_ADDRESS_MASK;
++              sz &= PCI_ROM_ADDRESS_MASK;
+               mask = (u32)PCI_ROM_ADDRESS_MASK;
+       }
index 2c22855306bb57b0877ff93289b1ddb760f8bfab..2d46426f6fa08950d50e7954d6463228a782240d 100644 (file)
@@ -29,3 +29,11 @@ powerpc-secondary-cpus-must-set-cpu_callin_map-after-setting-active-and-online.p
 powerpc-powernv-switch-off-mmu-before-entering-nap-sleep-rvwinkle-mode.patch
 powerpc-perf-hv-24x7-use-per-cpu-page-buffer.patch
 powerpc-add-little-endian-flag-to-syscall_get_arch.patch
+bluetooth-ath3k-add-support-of-mci-13d3-3408-bt-device.patch
+bluetooth-6lowpan-fix-skb_unshare-behaviour.patch
+bluetooth-fix-le-connection-timeout-deadlock.patch
+bluetooth-fix-check-for-direct-advertising.patch
+bluetooth-clear-le-white-list-when-resetting-controller.patch
+bluetooth-fix-controller-configuration-with-hci_quirk_invalid_bdaddr.patch
+bluetooth-fix-accepting-connections-when-not-using-mgmt.patch
+pci-restore-detection-of-read-only-bars.patch