1. 12 Sep, 2012 11 commits
    • Sarah Sharp's avatar
      xhci: Add Etron XHCI_TRUST_TX_LENGTH quirk. · adf91438
      Sarah Sharp authored
      commit 5cb7df2b upstream.
      
      Gary reports that with recent kernels, he notices more xHCI driver
      warnings:
      
      xhci_hcd 0000:03:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk?
      
      We think his Etron xHCI host controller may have the same buggy behavior
      as the Fresco Logic xHCI host.  When a short transfer is received, the
      host will mark the transfer as successfully completed when it should be
      marking it with a short completion.
      
      Fix this by turning on the XHCI_TRUST_TX_LENGTH quirk when the Etron
      host is discovered.  Note that Gary has revision 1, but if Etron fixes
      this bug in future revisions, the quirk will have no effect.
      
      This patch should be backported to kernels as old as 2.6.36, that
      contain a backported version of commit
      1530bbc6 "xhci: Add new short TX quirk
      for Fresco Logic host."
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Reported-by: default avatarGary E. Miller <gem@rellim.com>
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      adf91438
    • Sarah Sharp's avatar
      xhci: Increase reset timeout for Renesas 720201 host. · 11181d02
      Sarah Sharp authored
      commit 22ceac19 upstream.
      
      The NEC/Renesas 720201 xHCI host controller does not complete its reset
      within 250 milliseconds.  In fact, it takes about 9 seconds to reset the
      host controller, and 1 second for the host to be ready for doorbell
      rings.  Extend the reset and CNR polling timeout to 10 seconds each.
      
      This patch should be backported to kernels as old as 2.6.31, that
      contain the commit 66d4eadd "USB: xhci:
      BIOS handoff and HW initialization."
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Reported-by: default avatarEdwin Klein Mentink <e.kleinmentink@zonnet.nl>
      [bwh: Backported to 3.2: result of second handshake call is returned directly]
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      11181d02
    • Szymon Janc's avatar
      Bluetooth: Fix legacy pairing with some devices · 37510792
      Szymon Janc authored
      commit a9ea3ed9 upstream.
      
      Some devices e.g. some Android based phones don't do SDP search before
      pairing and cancel legacy pairing when ACL is disconnected.
      
      PIN Code Request event which changes ACL timeout to HCI_PAIRING_TIMEOUT
      is only received after remote user entered PIN.
      
      In that case no L2CAP is connected so default HCI_DISCONN_TIMEOUT
      (2 seconds) is being used to timeout ACL connection. This results in
      problems with legacy pairing as remote user has only few seconds to
      enter PIN before ACL is disconnected.
      
      Increase disconnect timeout for incomming connection to
      HCI_PAIRING_TIMEOUT if SSP is disabled and no linkey exists.
      
      To avoid keeping ACL alive for too long after SDP search set ACL
      timeout back to HCI_DISCONN_TIMEOUT when L2CAP is connected.
      
      2012-07-19 13:24:43.413521 < HCI Command: Create Connection (0x01|0x0005) plen 13
          bdaddr 00:02:72:D6:6A:3F ptype 0xcc18 rswitch 0x01 clkoffset 0x0000
          Packet type: DM1 DM3 DM5 DH1 DH3 DH5
      2012-07-19 13:24:43.425224 > HCI Event: Command Status (0x0f) plen 4
          Create Connection (0x01|0x0005) status 0x00 ncmd 1
      2012-07-19 13:24:43.885222 > HCI Event: Role Change (0x12) plen 8
          status 0x00 bdaddr 00:02:72:D6:6A:3F role 0x01
          Role: Slave
      2012-07-19 13:24:44.054221 > HCI Event: Connect Complete (0x03) plen 11
          status 0x00 handle 42 bdaddr 00:02:72:D6:6A:3F type ACL encrypt 0x00
      2012-07-19 13:24:44.054313 < HCI Command: Read Remote Supported Features (0x01|0x001b) plen 2
          handle 42
      2012-07-19 13:24:44.055176 > HCI Event: Page Scan Repetition Mode Change (0x20) plen 7
          bdaddr 00:02:72:D6:6A:3F mode 0
      2012-07-19 13:24:44.056217 > HCI Event: Max Slots Change (0x1b) plen 3
          handle 42 slots 5
      2012-07-19 13:24:44.059218 > HCI Event: Command Status (0x0f) plen 4
          Read Remote Supported Features (0x01|0x001b) status 0x00 ncmd 0
      2012-07-19 13:24:44.062192 > HCI Event: Command Status (0x0f) plen 4
          Unknown (0x00|0x0000) status 0x00 ncmd 1
      2012-07-19 13:24:44.067219 > HCI Event: Read Remote Supported Features (0x0b) plen 11
          status 0x00 handle 42
          Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
      2012-07-19 13:24:44.067248 < HCI Command: Read Remote Extended Features (0x01|0x001c) plen 3
          handle 42 page 1
      2012-07-19 13:24:44.071217 > HCI Event: Command Status (0x0f) plen 4
          Read Remote Extended Features (0x01|0x001c) status 0x00 ncmd 1
      2012-07-19 13:24:44.076218 > HCI Event: Read Remote Extended Features (0x23) plen 13
          status 0x00 handle 42 page 1 max 1
          Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
      2012-07-19 13:24:44.076249 < HCI Command: Remote Name Request (0x01|0x0019) plen 10
          bdaddr 00:02:72:D6:6A:3F mode 2 clkoffset 0x0000
      2012-07-19 13:24:44.081218 > HCI Event: Command Status (0x0f) plen 4
          Remote Name Request (0x01|0x0019) status 0x00 ncmd 1
      2012-07-19 13:24:44.105214 > HCI Event: Remote Name Req Complete (0x07) plen 255
          status 0x00 bdaddr 00:02:72:D6:6A:3F name 'uw000951-0'
      2012-07-19 13:24:44.105284 < HCI Command: Authentication Requested (0x01|0x0011) plen 2
          handle 42
      2012-07-19 13:24:44.111207 > HCI Event: Command Status (0x0f) plen 4
          Authentication Requested (0x01|0x0011) status 0x00 ncmd 1
      2012-07-19 13:24:44.112220 > HCI Event: Link Key Request (0x17) plen 6
          bdaddr 00:02:72:D6:6A:3F
      2012-07-19 13:24:44.112249 < HCI Command: Link Key Request Negative Reply (0x01|0x000c) plen 6
          bdaddr 00:02:72:D6:6A:3F
      2012-07-19 13:24:44.115215 > HCI Event: Command Complete (0x0e) plen 10
          Link Key Request Negative Reply (0x01|0x000c) ncmd 1
          status 0x00 bdaddr 00:02:72:D6:6A:3F
      2012-07-19 13:24:44.116215 > HCI Event: PIN Code Request (0x16) plen 6
          bdaddr 00:02:72:D6:6A:3F
      2012-07-19 13:24:48.099184 > HCI Event: Auth Complete (0x06) plen 3
          status 0x13 handle 42
          Error: Remote User Terminated Connection
      2012-07-19 13:24:48.179182 > HCI Event: Disconn Complete (0x05) plen 4
          status 0x00 handle 42 reason 0x13
          Reason: Remote User Terminated Connection
      Signed-off-by: default avatarSzymon Janc <szymon.janc@tieto.com>
      Acked-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
      Signed-off-by: default avatarGustavo Padovan <gustavo.padovan@collabora.co.uk>
      [bwh: Backported to 3.2:
       - Adjust context
       - hci_conn_ssp_enabled() is not defined; open-code the condition]
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      37510792
    • Zach Brown's avatar
      fuse: verify all ioctl retry iov elements · 14269c27
      Zach Brown authored
      commit fb6ccff6 upstream.
      
      Commit 7572777e attempted to verify that
      the total iovec from the client doesn't overflow iov_length() but it
      only checked the first element.  The iovec could still overflow by
      starting with a small element.  The obvious fix is to check all the
      elements.
      
      The overflow case doesn't look dangerous to the kernel as the copy is
      limited by the length after the overflow.  This fix restores the
      intention of returning an error instead of successfully copying less
      than the iovec represented.
      
      I found this by code inspection.  I built it but don't have a test case.
      I'm cc:ing stable because the initial commit did as well.
      Signed-off-by: default avatarZach Brown <zab@redhat.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      14269c27
    • Theodore Ts'o's avatar
      ext4: avoid kmemcheck complaint from reading uninitialized memory · 11306f0a
      Theodore Ts'o authored
      commit 7e731bc9 upstream.
      
      Commit 03179fe9 introduced a kmemcheck complaint in
      ext4_da_get_block_prep() because we save and restore
      ei->i_da_metadata_calc_last_lblock even though it is left
      uninitialized in the case where i_da_metadata_calc_len is zero.
      
      This doesn't hurt anything, but silencing the kmemcheck complaint
      makes it easier for people to find real bugs.
      
      Addresses https://bugzilla.kernel.org/show_bug.cgi?id=45631
      (which is marked as a regression).
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      11306f0a
    • Idan Kedar's avatar
      pnfs: defer release of pages in layoutget · 01bc11a7
      Idan Kedar authored
      commit 8554116e upstream.
      
      we have encountered a bug whereby reading a lot of files (copying
      fedora's /bin) from a pNFS mount and hitting Ctrl+C in the middle caused
      a general protection fault in xdr_shrink_bufhead. this function is
      called when decoding the response from LAYOUTGET. the decoding is done
      by a worker thread, and the caller of LAYOUTGET waits for the worker
      thread to complete.
      
      hitting Ctrl+C caused the synchronous wait to end and the next thing the
      caller does is to free the pages, so when the worker thread calls
      xdr_shrink_bufhead, the pages are gone. therefore, the cleanup of these
      pages has been moved to nfs4_layoutget_release.
      Signed-off-by: default avatarIdan Kedar <idank@tonian.com>
      Signed-off-by: default avatarBenny Halevy <bhalevy@tonian.com>
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      01bc11a7
    • Jim Rees's avatar
      6af55b44
    • Andy Adamson's avatar
    • Trond Myklebust's avatar
      NFS: Use kcalloc() when allocating arrays · 59f704cd
      Trond Myklebust authored
      commit 7d9dea91 upstream.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      59f704cd
    • Jeff Layton's avatar
      nfs: tear down caches in nfs_init_writepagecache when allocation fails · c52f6cc5
      Jeff Layton authored
      commit 3dd4765f upstream.
      
      ...and ensure that we tear down the nfs_commit_data cache too when
      unloading the module.
      
      Cc: Bryan Schumaker <bjschuma@netapp.com>
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      [bwh: Backported to 3.2: drop the nfs_cdata_cachep cleanup; it doesn't exist]
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      c52f6cc5
    • Cyrus Lien's avatar
      HID: add ASUS AIO keyboard model AK1D · 4e049fb9
      Cyrus Lien authored
      commit 2d8767bb upstream.
      
      Add Asus All-In-One PC keyboard model AK1D.
      
      BugLink: https://bugs.launchpad.net/bugs/1027789Signed-off-by: default avatarCyrus Lien <cyrus.lien@canonical.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      [bwh: Backported to 3.2: adjust context]
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      4e049fb9
  2. 19 Aug, 2012 29 commits