Update to 3.13.5
svn path=/dists/sid/linux/; revision=21115
This commit is contained in:
parent
99f6e5571d
commit
e01c593507
|
@ -1,4 +1,48 @@
|
|||
linux (3.13.4-2) UNRELEASED; urgency=medium
|
||||
linux (3.13.5-1) UNRELEASED; urgency=medium
|
||||
|
||||
* New upstream stable update:
|
||||
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.13.5
|
||||
- xen: properly account for _PAGE_NUMA during xen pte translations
|
||||
- mm: fix page leak at nfs_symlink()
|
||||
- mm/memory-failure.c: move refcount only in !MF_COUNT_INCREASED
|
||||
- CIFS: Fix SMB2 mounts so they don't try to set or get xattrs via cifs
|
||||
- CIFS: Add protocol specific operation for CIFS xattrs
|
||||
- CIFS: retrieving CIFS ACLs when mounted with SMB2 fails dropping session
|
||||
- mac80211: release the channel in error path in start_ap
|
||||
- mac80211: Fix IBSS disconnect
|
||||
- mac80211: fix fragmentation code, particularly for encryption
|
||||
- ath9k_htc: Do not support PowerSave by default
|
||||
- ath9k: Do not support PowerSave by default
|
||||
- [s390x] fix kernel crash due to linkage stack instructions
|
||||
- raw: test against runtime value of max_raw_minors
|
||||
- hwmon: (ntc_thermistor) Avoid math overflow
|
||||
- lockd: send correct lock when granting a delayed lock.
|
||||
- drm/i915: Pair va_copy with va_end in i915_error_vprintf
|
||||
- vt: Fix secure clear screen
|
||||
- staging: lustre: fix quotactl permission denied (LU-4530)
|
||||
- staging: comedi: adv_pci1710: fix analog output readback value
|
||||
- iio: adis16400: Set timestamp as the last element in chan_spec
|
||||
- iio: ak8975: Fix calculation formula for convert micro tesla to gauss
|
||||
unit
|
||||
- usb-storage: add unusual-devs entry for BlackBerry 9000
|
||||
- usb-storage: restrict bcdDevice range for Super Top in Cypress ATACB
|
||||
- xhci 1.0: Limit arbitrarily-aligned scatter gather.
|
||||
- Revert "usbcore: set lpm_capable field for LPM capable root hubs"
|
||||
(regression in 3.12.1)
|
||||
- block: __elv_next_request() shouldn't call into the elevator if bypassing
|
||||
- block: Fix nr_vecs for inline integrity vectors
|
||||
- block: add cond_resched() to potentially long running ioctl discard loop
|
||||
- compiler/gcc4: Make quirk for asm_volatile_goto() unconditional
|
||||
- misc: mic: fix possible signed underflow (undefined behavior) in
|
||||
userspace API
|
||||
- KVM: return an error code in kvm_vm_ioctl_register_coalesced_mmio()
|
||||
- md/raid1: restore ability for check and repair to fix read errors.
|
||||
(regression in 3.10.5)
|
||||
- i2c: mv64xxx: refactor message start to ensure proper initialization
|
||||
- target: Fix free-after-use regression in PR unregister
|
||||
- drivers/edac/edac_mc_sysfs.c: poll timeout cannot be zero
|
||||
- EDAC: Poll timeout cannot be zero, p2
|
||||
- EDAC: Correct workqueue setup path
|
||||
|
||||
[ Ben Hutchings ]
|
||||
* [armhf] net/wireless: Really enable WL_TI and dependent modules
|
||||
|
|
|
@ -1,121 +0,0 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Sat, 1 Feb 2014 16:36:56 +0100
|
||||
Subject: xhci: Revert generalised sg support
|
||||
Bug-Debian: http://bugs.debian.org/733826
|
||||
Bug-Debian: http://bugs.debian.org/736274
|
||||
|
||||
Revert part of "USB: introduce usb_device_no_sg_constraint() helper"
|
||||
(commit bcc48f1a7a0d40ae2e5a26aff72c2b674fd8b596),
|
||||
"usb: xhci: Link TRB must not occur within a USB payload burst"
|
||||
(commit 35773dac5f862cb1c82ea151eba3e2f6de51ec3e),
|
||||
"xhci: Avoid infinite loop when sg urb requires too many trbs"
|
||||
(commit d6c9ea9069af684358efedcaf2f2f687f51c58ee) and
|
||||
"xhci: Set scatter-gather limit to avoid failed block writes."
|
||||
(commit f2d9b991c549f159dc9ae81f77d8206c790cbfee).
|
||||
|
||||
The first two have resulted in serious regressions for USB storage,
|
||||
apparently not entirely fixed by the last two.
|
||||
---
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -2973,58 +2973,8 @@ static int prepare_ring(struct xhci_hcd
|
||||
}
|
||||
|
||||
while (1) {
|
||||
- if (room_on_ring(xhci, ep_ring, num_trbs)) {
|
||||
- union xhci_trb *trb = ep_ring->enqueue;
|
||||
- unsigned int usable = ep_ring->enq_seg->trbs +
|
||||
- TRBS_PER_SEGMENT - 1 - trb;
|
||||
- u32 nop_cmd;
|
||||
-
|
||||
- /*
|
||||
- * Section 4.11.7.1 TD Fragments states that a link
|
||||
- * TRB must only occur at the boundary between
|
||||
- * data bursts (eg 512 bytes for 480M).
|
||||
- * While it is possible to split a large fragment
|
||||
- * we don't know the size yet.
|
||||
- * Simplest solution is to fill the trb before the
|
||||
- * LINK with nop commands.
|
||||
- */
|
||||
- if (num_trbs == 1 || num_trbs <= usable || usable == 0)
|
||||
- break;
|
||||
-
|
||||
- if (ep_ring->type != TYPE_BULK)
|
||||
- /*
|
||||
- * While isoc transfers might have a buffer that
|
||||
- * crosses a 64k boundary it is unlikely.
|
||||
- * Since we can't add NOPs without generating
|
||||
- * gaps in the traffic just hope it never
|
||||
- * happens at the end of the ring.
|
||||
- * This could be fixed by writing a LINK TRB
|
||||
- * instead of the first NOP - however the
|
||||
- * TRB_TYPE_LINK_LE32() calls would all need
|
||||
- * changing to check the ring length.
|
||||
- */
|
||||
- break;
|
||||
-
|
||||
- if (num_trbs >= TRBS_PER_SEGMENT) {
|
||||
- xhci_err(xhci, "Too many fragments %d, max %d\n",
|
||||
- num_trbs, TRBS_PER_SEGMENT - 1);
|
||||
- return -EINVAL;
|
||||
- }
|
||||
-
|
||||
- nop_cmd = cpu_to_le32(TRB_TYPE(TRB_TR_NOOP) |
|
||||
- ep_ring->cycle_state);
|
||||
- ep_ring->num_trbs_free -= usable;
|
||||
- do {
|
||||
- trb->generic.field[0] = 0;
|
||||
- trb->generic.field[1] = 0;
|
||||
- trb->generic.field[2] = 0;
|
||||
- trb->generic.field[3] = nop_cmd;
|
||||
- trb++;
|
||||
- } while (--usable);
|
||||
- ep_ring->enqueue = trb;
|
||||
- if (room_on_ring(xhci, ep_ring, num_trbs))
|
||||
- break;
|
||||
- }
|
||||
+ if (room_on_ring(xhci, ep_ring, num_trbs))
|
||||
+ break;
|
||||
|
||||
if (ep_ring == xhci->cmd_ring) {
|
||||
xhci_err(xhci, "Do not support expand command ring\n");
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -4716,11 +4716,12 @@ int xhci_gen_setup(struct usb_hcd *hcd,
|
||||
struct device *dev = hcd->self.controller;
|
||||
int retval;
|
||||
|
||||
- /* Limit the block layer scatter-gather lists to half a segment. */
|
||||
- hcd->self.sg_tablesize = TRBS_PER_SEGMENT / 2;
|
||||
+ /* Accept arbitrarily long scatter-gather lists */
|
||||
+ hcd->self.sg_tablesize = ~0;
|
||||
|
||||
/* support to build packet from discontinuous buffers */
|
||||
- hcd->self.no_sg_constraint = 1;
|
||||
+ /* XXX doesn't generally work yet */
|
||||
+ hcd->self.no_sg_constraint = 0;
|
||||
|
||||
/* XHCI controllers don't stop the ep queue on short packets :| */
|
||||
hcd->self.no_stop_on_short = 1;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1260,7 +1260,7 @@ union xhci_trb {
|
||||
* since the command ring is 64-byte aligned.
|
||||
* It must also be greater than 16.
|
||||
*/
|
||||
-#define TRBS_PER_SEGMENT 256
|
||||
+#define TRBS_PER_SEGMENT 64
|
||||
/* Allow two commands + a link TRB, along with any reserved command TRBs */
|
||||
#define MAX_RSVD_CMD_TRBS (TRBS_PER_SEGMENT - 3)
|
||||
#define TRB_SEGMENT_SIZE (TRBS_PER_SEGMENT*16)
|
||||
--- a/include/linux/usb.h
|
||||
+++ b/include/linux/usb.h
|
||||
@@ -1264,8 +1264,6 @@ typedef void (*usb_complete_t)(struct ur
|
||||
* @sg: scatter gather buffer list, the buffer size of each element in
|
||||
* the list (except the last) must be divisible by the endpoint's
|
||||
* max packet size if no_sg_constraint isn't set in 'struct usb_bus'
|
||||
- * (FIXME: scatter-gather under xHCI is broken for periodic transfers.
|
||||
- * Do not use urb->sg for interrupt endpoints for now, only bulk.)
|
||||
* @num_mapped_sgs: (internal) number of mapped sg entries
|
||||
* @num_sgs: number of entries in the sg list
|
||||
* @transfer_buffer_length: How big is transfer_buffer. The transfer may
|
|
@ -79,5 +79,4 @@ bugfix/all/staging-lustre-Make-LUSTRE_LLITE_LLOOP-tristate.patch
|
|||
bugfix/all/i2c-designware-remove-HAVE_CLK-build-dependecy.patch
|
||||
debian/snd-pcsp-disable-autoload.patch
|
||||
bugfix/all/bluetooth-allocate-static-minor-for-vhci.patch
|
||||
bugfix/all/xhci-revert-generalised-sg-support.patch
|
||||
bugfix/all/rtl8187-fix-regression-on-MIPS-without-coherent-DMA.patch
|
||||
|
|
Loading…
Reference in New Issue