diff --git a/debian/changelog b/debian/changelog index d6a8e8ee1..f03f8ff37 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 diff --git a/debian/patches/bugfix/all/xhci-revert-generalised-sg-support.patch b/debian/patches/bugfix/all/xhci-revert-generalised-sg-support.patch deleted file mode 100644 index a4d3ab8d2..000000000 --- a/debian/patches/bugfix/all/xhci-revert-generalised-sg-support.patch +++ /dev/null @@ -1,121 +0,0 @@ -From: Ben Hutchings -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 diff --git a/debian/patches/series b/debian/patches/series index 7dbfee356..da91cfd74 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -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