1. 09 May, 2011 40 commits
    • Ben Hutchings's avatar
      powerpc/boot/dts: Install dts from the right directory · a1fabce3
      Ben Hutchings authored
      commit 4d9ef89d upstream.
      
      The dts-installed variable is initialised using a wildcard path that
      will be expanded relative to the build directory.  Use the existing
      variable dtstree to generate an absolute wildcard path that will work
      when building in a separate directory.
      Reported-by: default avatarGerhard Pircher <gerhard_pircher@gmx.net>
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      Tested-by: Gerhard Pircher <gerhard_pircher@gmx.net> [against 2.6.32]
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a1fabce3
    • Rémi Denis-Courmont's avatar
      Phonet: device notifier only runs on initial namespace · c33790ec
      Rémi Denis-Courmont authored
      [bwh: This is only applicable to 2.6.32. Phonet was fixed upstream to
      work with multiple net namespaces.]
      
      This should really fix the OOPS when doing:
      
        unshare(CLONE_NEWNET);
        exit(0);
      
      while the phonet module is loaded.
      Signed-off-by: default avatarRémi Denis-Courmont <remi.denis-courmont@nokia.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      c33790ec
    • Ben Hutchings's avatar
      niu: Fix kernel buffer overflow for ETHTOOL_GRXCLSRLALL · ffa7db22
      Ben Hutchings authored
      commit ee9c5cfa upstream.
      
      niu_get_ethtool_tcam_all() assumes that its output buffer is the right
      size, and warns before returning if it is not.  However, the output
      buffer size is under user control and ETHTOOL_GRXCLSRLALL is an
      unprivileged ethtool command.  Therefore this is at least a local
      denial-of-service vulnerability.
      
      Change it to check before writing each entry and to return an error if
      the buffer is already full.
      
      Compile-tested only.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      [Adjusted to apply to 2.6.32 by dann frazier <dannf@debian.org>]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      ffa7db22
    • FUJITA Tomonori's avatar
      mpt2sas: fix the incorrect scsi_dma_map error checking · 25205621
      FUJITA Tomonori authored
      commit bb789d01 upstream.
      
      scsi_dma_map() returns -1 if an error occurred (zero means that the
      command has no data). So the following current code can't catch an
      error:
      
      sges_left = scsi_dma_map(scmd);
      if (!sges_left) {
      	sdev_printk(KERN_ERR, scmd->device, "pci_map_sg"
      	" failed: request for %d bytes!\n", scsi_bufflen(scmd));
      	return -ENOMEM;
      }
      Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Acked-by: default avatar"Kashyap Desai" <Kashyap.Desai@lsi.com>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      25205621
    • Ralf Baechle's avatar
      MIPS: DMA: Fix computation of DMA flags from device's coherent_dma_mask. · 01ba5b05
      Ralf Baechle authored
      commit 3b9c6c11 upstream.
      
      This only matters for ISA devices with a 24-bit DMA limit or for devices
      with a 32-bit DMA limit on systems with ZONE_DMA32 enabled.  The latter
      currently only affects 32-bit PCI cards on Sibyte-based systems with more
      than 1GB RAM installed.
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      01ba5b05
    • James Chapman's avatar
      l2tp: Fix UDP socket reference count bugs in the pppol2tp driver · ec12faab
      James Chapman authored
      commit c3259c8a upstream.
      
      This patch fixes UDP socket refcnt bugs in the pppol2tp driver.
      
      A bug can cause a kernel stack trace when a tunnel socket is closed.
      
      A way to reproduce the issue is to prepare the UDP socket for L2TP (by
      opening a tunnel pppol2tp socket) and then close it before any L2TP
      sessions are added to it. The sequence is
      
      Create UDP socket
      Create tunnel pppol2tp socket to prepare UDP socket for L2TP
        pppol2tp_connect: session_id=0, peer_session_id=0
      L2TP SCCRP control frame received (tunnel_id==0)
        pppol2tp_recv_core: sock_hold()
        pppol2tp_recv_core: sock_put
      L2TP ZLB control frame received (tunnel_id=nnn)
        pppol2tp_recv_core: sock_hold()
        pppol2tp_recv_core: sock_put
      Close tunnel management socket
        pppol2tp_release: session_id=0, peer_session_id=0
      Close UDP socket
        udp_lib_close: BUG
      
      The addition of sock_hold() in pppol2tp_connect() solves the problem.
      
      For data frames, two sock_put() calls were added to plug a refcnt leak
      per received data frame. The ref that is grabbed at the top of
      pppol2tp_recv_core() must always be released, but this wasn't done for
      accepted data frames or data frames discarded because of bad UDP
      checksums. This leak meant that any UDP socket that had passed L2TP
      data traffic (i.e. L2TP data frames, not just L2TP control frames)
      using pppol2tp would not be released by the kernel.
      
      WARNING: at include/net/sock.h:435 udp_lib_unhash+0x117/0x120()
      Pid: 1086, comm: openl2tpd Not tainted 2.6.33-rc1 #8
      Call Trace:
       [<c119e9b7>] ? udp_lib_unhash+0x117/0x120
       [<c101b871>] ? warn_slowpath_common+0x71/0xd0
       [<c119e9b7>] ? udp_lib_unhash+0x117/0x120
       [<c101b8e3>] ? warn_slowpath_null+0x13/0x20
       [<c119e9b7>] ? udp_lib_unhash+0x117/0x120
       [<c11598a7>] ? sk_common_release+0x17/0x90
       [<c11a5e33>] ? inet_release+0x33/0x60
       [<c11577b0>] ? sock_release+0x10/0x60
       [<c115780f>] ? sock_close+0xf/0x30
       [<c106e542>] ? __fput+0x52/0x150
       [<c106b68e>] ? filp_close+0x3e/0x70
       [<c101d2e2>] ? put_files_struct+0x62/0xb0
       [<c101eaf7>] ? do_exit+0x5e7/0x650
       [<c1081623>] ? mntput_no_expire+0x13/0x70
       [<c106b68e>] ? filp_close+0x3e/0x70
       [<c101eb8a>] ? do_group_exit+0x2a/0x70
       [<c101ebe1>] ? sys_exit_group+0x11/0x20
       [<c10029b0>] ? sysenter_do_call+0x12/0x26
      Signed-off-by: default avatarJames Chapman <jchapman@katalix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      ec12faab
    • Romain Francoise's avatar
      ipv6: Silence privacy extensions initialization · 390a91e5
      Romain Francoise authored
      commit 2fdc1c80 upstream.
      
      When a network namespace is created (via CLONE_NEWNET), the loopback
      interface is automatically added to the new namespace, triggering a
      printk in ipv6_add_dev() if CONFIG_IPV6_PRIVACY is set.
      
      This is problematic for applications which use CLONE_NEWNET as
      part of a sandbox, like Chromium's suid sandbox or recent versions of
      vsftpd. On a busy machine, it can lead to thousands of useless
      "lo: Disabled Privacy Extensions" messages appearing in dmesg.
      
      It's easy enough to check the status of privacy extensions via the
      use_tempaddr sysctl, so just removing the printk seems like the most
      sensible solution.
      Signed-off-by: default avatarRomain Francoise <romain@orebokech.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      390a91e5
    • Jeff Mahoney's avatar
      ipg: Remove device claimed by dl2k from pci id table · 9c392599
      Jeff Mahoney authored
      commit 25cca535 upstream.
      
      This patch removes D-Link DGE-550T PCI ID (1186:4000) from the ipg
      driver. The ipg driver is for IP2000-based cards and the DGE-550T is
      a DL2000-based card. The driver loads and works for a few moments, but
      once a real workload is applied it stops operating. The ipg driver
      claimed this ID since it was introduced in 2.6.24 and it's forced many
      users to blacklist it.
      
      The correct driver for this hardware is the dl2k driver, which has been
      claiming this PCI ID since the 2.4 days.
      Signed-off-by: default avatarJeff Mahoney <jeffm@suse.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9c392599
    • David Woodhouse's avatar
      intel-iommu: Force-disable IOMMU for iGFX on broken Cantiga revisions. · 400036c2
      David Woodhouse authored
      commit 2d9e667e upstream.
      
      Certain revisions of this chipset appear to be broken. There is a shadow
      GTT which mirrors the real GTT but contains pre-translated physical
      addresses, for performance reasons. When a GTT update happens, the
      translations are done once and the resulting physical addresses written
      back to the shadow GTT.
      
      Except sometimes, the physical address is actually written back to the
      _real_ GTT, not the shadow GTT. Thus we start to see faults when that
      physical address is fed through translation again.
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      400036c2
    • Edgar (gimli) Hucek's avatar
      HID: add MacBookAir 3,1 and 3,2 support · e281433b
      Edgar (gimli) Hucek authored
      commit 99b9f758 upstream.
      
      This patch add support for the MacBookAir3,1 and MacBookAir3,2 to the hid
      driver.
      Signed-off-by: default avatarEdgar (gimli) Hucek <gimli@dark-green.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      e281433b
    • Neil Horman's avatar
      bonding: Ensure that we unshare skbs prior to calling pskb_may_pull · dd0c46bb
      Neil Horman authored
      commit b3053251 upstream.
      
      Recently reported oops:
      
      kernel BUG at net/core/skbuff.c:813!
      invalid opcode: 0000 [#1] SMP
      last sysfs file: /sys/devices/virtual/net/bond0/broadcast
      CPU 8
      Modules linked in: sit tunnel4 cpufreq_ondemand acpi_cpufreq freq_table bonding
      ipv6 dm_mirror dm_region_hash dm_log cdc_ether usbnet mii serio_raw i2c_i801
      i2c_core iTCO_wdt iTCO_vendor_support shpchp ioatdma i7core_edac edac_core bnx2
      ixgbe dca mdio sg ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase
      scsi_transport_sas dm_mod [last unloaded: microcode]
      
      Modules linked in: sit tunnel4 cpufreq_ondemand acpi_cpufreq freq_table bonding
      ipv6 dm_mirror dm_region_hash dm_log cdc_ether usbnet mii serio_raw i2c_i801
      i2c_core iTCO_wdt iTCO_vendor_support shpchp ioatdma i7core_edac edac_core bnx2
      ixgbe dca mdio sg ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase
      scsi_transport_sas dm_mod [last unloaded: microcode]
      Pid: 0, comm: swapper Not tainted 2.6.32-71.el6.x86_64 #1 BladeCenter HS22
      -[7870AC1]-
      RIP: 0010:[<ffffffff81405b16>]  [<ffffffff81405b16>]
      pskb_expand_head+0x36/0x1e0
      RSP: 0018:ffff880028303b70  EFLAGS: 00010202
      RAX: 0000000000000002 RBX: ffff880c6458ec80 RCX: 0000000000000020
      RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff880c6458ec80
      RBP: ffff880028303bc0 R08: ffffffff818a6180 R09: ffff880c6458ed64
      R10: ffff880c622b36c0 R11: 0000000000000400 R12: 0000000000000000
      R13: 0000000000000180 R14: ffff880c622b3000 R15: 0000000000000000
      FS:  0000000000000000(0000) GS:ffff880028300000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
      CR2: 00000038653452a4 CR3: 0000000001001000 CR4: 00000000000006e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process swapper (pid: 0, threadinfo ffff8806649c2000, task ffff880c64f16ab0)
      Stack:
       ffff880028303bc0 ffffffff8104fff9 000000000000001c 0000000100000000
      <0> ffff880000047d80 ffff880c6458ec80 000000000000001c ffff880c6223da00
      <0> ffff880c622b3000 0000000000000000 ffff880028303c10 ffffffff81407f7a
      Call Trace:
      <IRQ>
       [<ffffffff8104fff9>] ? __wake_up_common+0x59/0x90
       [<ffffffff81407f7a>] __pskb_pull_tail+0x2aa/0x360
       [<ffffffffa0244530>] bond_arp_rcv+0x2c0/0x2e0 [bonding]
       [<ffffffff814a0857>] ? packet_rcv+0x377/0x440
       [<ffffffff8140f21b>] netif_receive_skb+0x2db/0x670
       [<ffffffff8140f788>] napi_skb_finish+0x58/0x70
       [<ffffffff8140fc89>] napi_gro_receive+0x39/0x50
       [<ffffffffa01286eb>] ixgbe_clean_rx_irq+0x35b/0x900 [ixgbe]
       [<ffffffffa01290f6>] ixgbe_clean_rxtx_many+0x136/0x240 [ixgbe]
       [<ffffffff8140fe53>] net_rx_action+0x103/0x210
       [<ffffffff81073bd7>] __do_softirq+0xb7/0x1e0
       [<ffffffff810d8740>] ? handle_IRQ_event+0x60/0x170
       [<ffffffff810142cc>] call_softirq+0x1c/0x30
       [<ffffffff81015f35>] do_softirq+0x65/0xa0
       [<ffffffff810739d5>] irq_exit+0x85/0x90
       [<ffffffff814cf915>] do_IRQ+0x75/0xf0
       [<ffffffff81013ad3>] ret_from_intr+0x0/0x11
       <EOI>
       [<ffffffff8101bc01>] ? mwait_idle+0x71/0xd0
       [<ffffffff814cd80a>] ? atomic_notifier_call_chain+0x1a/0x20
       [<ffffffff81011e96>] cpu_idle+0xb6/0x110
       [<ffffffff814c17c8>] start_secondary+0x1fc/0x23f
      
      Resulted from bonding driver registering packet handlers via dev_add_pack and
      then trying to call pskb_may_pull. If another packet handler (like for AF_PACKET
      sockets) gets called first, the delivered skb will have a user count > 1, which
      causes pskb_may_pull to BUG halt when it does its skb_shared check.  Fix this by
      calling skb_share_check prior to the may_pull call sites in the bonding driver
      to clone the skb when needed.  Tested by myself and the reported successfully.
      Signed-off-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      CC: Andy Gospodarek <andy@greyhouse.net>
      CC: Jay Vosburgh <fubar@us.ibm.com>
      CC: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: default avatarAndy Gospodarek <andy@greyhouse.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      dd0c46bb
    • Edgar (gimli) Hucek's avatar
      backlight: MacBookAir3,1(3,2) mbp-nvidia-bl support · fde3d820
      Edgar (gimli) Hucek authored
      commit bd760e1e upstream.
      
      Add support for the MacBookAir3,1 and MacBookAir3,2 to the mbp-nvidia-bl
      driver.
      Signed-off-by: default avatarEdgar (gimli) Hucek <gimli@dark-green.com>
      Acked-by: default avatarRichard Purdie <rpurdie@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      fde3d820
    • Peter Zijlstra's avatar
      init, sched: Fix race between init and kthreadd · 572a42d1
      Peter Zijlstra authored
      commit b433c3d4 upstream.
      
      Ilya reported that on a very slow machine he could reliably
      reproduce a race between forking init and kthreadd. We first
      fork init so that it  obtains pid-1, however since the scheduler
      is already fully running at this point it can preempt and run
      the init thread before we spawn and set kthreadd_task.
      
      The init thread can then attempt spawning kthreads without
      kthreadd being present which results in an OOPS.
      Reported-by: default avatarIlya Loginov <isloginov@gmail.com>
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1277736661.3561.110.camel@laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      572a42d1
    • Eric Dumazet's avatar
      af_unix: limit unix_tot_inflight · 6034a281
      Eric Dumazet authored
      commit 9915672d upstream.
      
      Vegard Nossum found a unix socket OOM was possible, posting an exploit
      program.
      
      My analysis is we can eat all LOWMEM memory before unix_gc() being
      called from unix_release_sock(). Moreover, the thread blocked in
      unix_gc() can consume huge amount of time to perform cleanup because of
      huge working set.
      
      One way to handle this is to have a sensible limit on unix_tot_inflight,
      tested from wait_for_unix_gc() and to force a call to unix_gc() if this
      limit is hit.
      
      This solves the OOM and also reduce overall latencies, and should not
      slowdown normal workloads.
      Reported-by: default avatarVegard Nossum <vegard.nossum@gmail.com>
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6034a281
    • Eric Dumazet's avatar
      af_unix: limit recursion level · 6019f383
      Eric Dumazet authored
      commit 25888e30 upstream.
      
      Its easy to eat all kernel memory and trigger NMI watchdog, using an
      exploit program that queues unix sockets on top of others.
      
      lkml ref : http://lkml.org/lkml/2010/11/25/8
      
      This mechanism is used in applications, one choice we have is to have a
      recursion limit.
      
      Other limits might be needed as well (if we queue other types of files),
      since the passfd mechanism is currently limited by socket receive queue
      sizes only.
      
      Add a recursion_level to unix socket, allowing up to 4 levels.
      
      Each time we send an unix socket through sendfd mechanism, we copy its
      recursion level (plus one) to receiver. This recursion level is cleared
      when socket receive queue is emptied.
      Reported-by: default avatarМарк Коренберг <socketpair@gmail.com>
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      [bwh: Adjust for 2.6.32]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6019f383
    • Ben Hutchings's avatar
      btrfs: Require CAP_SYS_ADMIN for filesystem rebalance · 84daae5d
      Ben Hutchings authored
      commit 6f88a440 upstream.
      
      Filesystem rebalancing (BTRFS_IOC_BALANCE) affects the entire
      filesystem and may run uninterruptibly for a long time.  This does not
      seem to be something that an unprivileged user should be able to do.
      Reported-by: default avatarAron Xu <happyaron.xu@gmail.com>
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      84daae5d
    • Jesse Brandeburg's avatar
      e1000: fix Tx hangs by disabling 64-bit DMA · 4c8478ff
      Jesse Brandeburg authored
      commit e508be17 upstream.
      
      Several users report issues with 32-bit adapters when plugged
      into PCI slots in machines with >= 4GB ram.  In particular AMD
      systems with HyperTransport to PCI bridges seem to trigger the
      issue, but it isn't limited to only them.
      
      This issue is not easily reproducible here, yet still continues
      to occur in the field.  For e1000 on PCI devices, just disable DMA
      addresses over the 4GB boundary when in PCI (not PCI-X) mode, to
      prevent the issue from continuing to pop up.  The performance
      impact for this is negligible.
      
      The code was refactored to move the init of the hw struct to its
      own function. This allows the init to be called very early in
      probe, which then allows using hw-> members for this fix.
      
      A slight refactor to the DMA mask code was done for minor
      correctness based on the instructions in DMA-API-HOWTO.
      Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      [bwh: Adjust for 2.6.32]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4c8478ff
    • Bruce Allan's avatar
      e1000e: Reset 82577/82578 PHY before first PHY register read · 3aeab7c1
      Bruce Allan authored
      commit 627c8a04 upstream.
      
      Reset the PHY before first accessing it.  Doing so, ensure that the PHY is
      in a known good state before we read/write PHY registers. This fixes a
      driver probe failure.
      Signed-off-by: default avatarBruce Allan <bruce.w.allan@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      [Backported to 2.6.32 by dann frazier <dannf@debian.org>]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3aeab7c1
    • Oskar Schirmer's avatar
      cifs: fix another memleak, in cifs_root_iget · 88949121
      Oskar Schirmer authored
      commit a7851ce7 upstream.
      
      cifs_root_iget allocates full_path through
      cifs_build_path_to_root, but fails to kfree it upon
      cifs_get_inode_info* failure.
      
      Make all failure exit paths traverse clean up
      handling at the end of the function.
      Signed-off-by: default avatarOskar Schirmer <oskar@scara.com>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Reviewed-by: default avatarJesper Juhl <jj@chaosbits.net>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      88949121
    • Mike Christie's avatar
      scsi_dh_emc: request flag cleanup · 04333e7c
      Mike Christie authored
      commit 5738d444 upstream.
      
      blk_get_request sets the cmd_flags, so we should not and do not
      need to set them. If we did set them to a different value then
      it can cause a oops in the elevator code.
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      04333e7c
    • Hannes Reinecke's avatar
      scsi_dh_emc: fix mode select request setup · 4e233613
      Hannes Reinecke authored
      commit 6c71dcb2 upstream.
      
      This patch fixes the request setup code for mode selects. I got the fixes from
      Hannes Reinecke while trying to hunt down some problems and merged it
      into one patch. I am sending it because Hannes is busy with other things.
      
      The patch fixes:
      - setting of the length for mode selects.
      - setting of the data direction for mode select 10.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4e233613
    • Rezwanul Kabir's avatar
      dell-laptop: Add another Dell laptop family to the DMI whitelist · c6e5b728
      Rezwanul Kabir authored
      commit 410d44c7 upstream.
      
      This is to support Precision M4500 and others.
      Signed-off-by: default avatarRezwanul Kabir <Rezwanul_Kabir@dell.com>
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      c6e5b728
    • Erik Andren's avatar
      dell-laptop: Add another Dell laptop to the DMI whitelist · 36e683f7
      Erik Andren authored
      commit cb6a7937 upstream.
      
      The Latitude C640 has another variation of dell in its DMI vendor entry.
      Add it to the whitelist in order to enjoy the sweet fruits of software
      backlight toggling.
      Signed-off-by: default avatarErik Andren <erik.andren@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      36e683f7
    • Phil Blundell's avatar
      econet: fix CVE-2010-3848 · b7a7f2b9
      Phil Blundell authored
      commit a27e13d3 upstream.
      
      Don't declare variable sized array of iovecs on the stack since this
      could cause stack overflow if msg->msgiovlen is large.  Instead, coalesce
      the user-supplied data into a new buffer and use a single iovec for it.
      Signed-off-by: default avatarPhil Blundell <philb@gnu.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      [Adjusted to apply to 2.6.32 by dann frazier <dannf@debian.org>]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      b7a7f2b9
    • Hagen Paul Pfeifer's avatar
      econet: Fix redeclaration of symbol len · 8200a2e1
      Hagen Paul Pfeifer authored
      commit 9e834297 upstream.
      
      Function argument len was redeclarated within the
      function. This patch fix the redeclaration of symbol 'len'.
      Signed-off-by: default avatarHagen Paul Pfeifer <hagen@jauu.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      [Adjusted to apply to 2.6.32 by dann frazier <dannf@debian.org>]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      8200a2e1
    • Larry Finger's avatar
      b43: Fix warning at drivers/mmc/core/core.c:237 in mmc_wait_for_cmd · 46e8f021
      Larry Finger authored
      commit 9f2a0fac upstream.
      
      On module removal, the sdio version of b43 generates the following warning:
      
      [  851.560519] ------------[ cut here ]------------
      [  851.560531] WARNING: at drivers/mmc/core/core.c:237 mmc_wait_for_cmd+0x88/0x90()
      [  851.560534] Hardware name: 20552PG
      [  851.560536] Modules linked in: b43(-) ssb mmc_block binfmt_misc rfcomm sco bnep ppdev l2cap ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp kvm_intel kvm arc4 iwlagn snd_hda_codec_conexant snd_hda_intel snd_hda_codec iwlcore snd_hwdep snd_pcm thinkpad_acpi mac80211 snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq r852 joydev snd_timer sm_common pcmcia nand snd_seq_device cfg80211 sdhci_pci btusb psmouse tpm_tis yenta_socket nand_ids lp snd pcmcia_rsrc nand_ecc bluetooth sdhci tpm pcmcia_core parport mtd snd_page_alloc serio_raw tpm_bios soundcore nvram led_class sha256_generic aes_i586 aes_generic dm_crypt i915 drm_kms_helper drm ahci intel_agp i2c_algo_bit intel_gtt e1000e libahci video agpgart output
      [  851.560620] Pid: 2504, comm: rmmod Not tainted 2.6.36-titan0+ #1
      [  851.560622] Call Trace:
      [  851.560631]  [<c014a102>] warn_slowpath_common+0x72/0xa0
      [  851.560636]  [<c04d94c8>] ? mmc_wait_for_cmd+0x88/0x90
      [  851.560641]  [<c04d94c8>] ? mmc_wait_for_cmd+0x88/0x90
      [  851.560645]  [<c014a152>] warn_slowpath_null+0x22/0x30
      [  851.560649]  [<c04d94c8>] mmc_wait_for_cmd+0x88/0x90
      [  851.560655]  [<c0401585>] ? device_release+0x25/0x80
      [  851.560660]  [<c04df210>] mmc_io_rw_direct_host+0xa0/0x150
      [  851.560665]  [<c04df370>] mmc_io_rw_direct+0x30/0x40
      [  851.560669]  [<c04e06e7>] sdio_disable_func+0x37/0xa0
      [  851.560683]  [<f8dfcb80>] b43_sdio_remove+0x30/0x50 [b43]
      [  851.560687]  [<c04df8cc>] sdio_bus_remove+0x1c/0x60
      [  851.560692]  [<c016d39f>] ? blocking_notifier_call_chain+0x1f/0x30
      [  851.560697]  [<c0404991>] __device_release_driver+0x51/0xb0
      [  851.560701]  [<c0404a7f>] driver_detach+0x8f/0xa0
      [  851.560705]  [<c0403c83>] bus_remove_driver+0x63/0xa0
      [  851.560709]  [<c0405039>] driver_unregister+0x49/0x80
      [  851.560713]  [<c0405039>] ? driver_unregister+0x49/0x80
      [  851.560718]  [<c04dfad7>] sdio_unregister_driver+0x17/0x20
      [  851.560727]  [<f8dfcb42>] b43_sdio_exit+0x12/0x20 [b43]
      [  851.560734]  [<f8dfe76f>] b43_exit+0x17/0x3c [b43]
      [  851.560740]  [<c017fb8d>] sys_delete_module+0x13d/0x200
      [  851.560747]  [<c01fd7d2>] ? do_munmap+0x212/0x300
      [  851.560752]  [<c010311f>] sysenter_do_call+0x12/0x28
      [  851.560757] ---[ end trace 31e14488072d2f7d ]---
      [  851.560759] ------------[ cut here ]------------
      
      The warning is caused by b43 not claiming the device before calling
      sdio_disable_func().
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Reported-by: default avatarArnd Hannemann <arnd@arndnet.de>
      Tested-by: default avatarArnd Hannemann <arnd@arndnet.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      46e8f021
    • Uwe Kleine-König's avatar
      mmc: build fix: mmc_pm_notify is only available with CONFIG_PM=y · ed9de8cc
      Uwe Kleine-König authored
      commit 81ca03a0 upstream.
      
      This fixes a build breakage introduced by commit 4c2ef25f ("mmc: fix
      all hangs related to mmc/sd card insert/removal during suspend/resume")
      
      Cc: David Brownell <david-b@pacbell.net>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: linux-mmc@vger.kernel.org
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Acked-by: default avatarMaxim Levitsky <maximlevitsky@gmail.com>
      Acked-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      ed9de8cc
    • Maxim Levitsky's avatar
      mmc: fix all hangs related to mmc/sd card insert/removal during suspend/resume · 28e4bf4a
      Maxim Levitsky authored
      commit 4c2ef25f upstream.
      
      If you don't use CONFIG_MMC_UNSAFE_RESUME, as soon as you attempt to
      suspend, the card will be removed, therefore this patch doesn't change the
      behavior of this option.
      
      However the removal will be done by pm notifier, which runs while
      userspace is still not frozen and thus can freely use del_gendisk, without
      the risk of deadlock which would happen otherwise.
      
      Card detect workqueue is now disabled while userspace is frozen, Therefore
      if you do use CONFIG_MMC_UNSAFE_RESUME, and remove the card during
      suspend, the removal will be detected as soon as userspace is unfrozen,
      again at the moment it is safe to call del_gendisk.
      
      Tested with and without CONFIG_MMC_UNSAFE_RESUME with suspend and hibernate.
      
      [akpm@linux-foundation.org: clean up function prototype]
      [akpm@linux-foundation.org: fix CONFIG_PM-n linkage, small cleanups]
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: default avatarMaxim Levitsky <maximlevitsky@gmail.com>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: <linux-mmc@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      [bwh: Adjust for 2.6.32]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      28e4bf4a
    • Michael Müller's avatar
      V4L/DVB: Add Elgato EyeTV Diversity to dibcom driver · f4a2d581
      Michael Müller authored
      commit 84e2f037 upstream.
      
      This patch introduces support for DVB-T for the following dibcom
      based card: Elgato EyeTV Diversity (USB-ID: 0fd9:0011)
      
      Support for the Elgato silver IR remote is added too (set parameter
      dvb_usb_dib0700_ir_proto=0)
      
      [w.sang@pengutronix.de: rebased to current linuxtv-master]
      Signed-off-by: default avatarMichael Müller <mueller_michael@alice-dsl.net>
      Signed-off-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: default avatarPatrick Boettcher <pboettcher@kernellabs.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      [bwh: Adjust context and numbering for 2.6.32]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      f4a2d581
    • Kyle McMartin's avatar
      perf symbols: allow forcing use of cplus_demangle · cdcf58a4
      Kyle McMartin authored
      commit d11c7add upstream.
      
      For Fedora, I want to force perf to link against libiberty.a for
      cplus_demangle, rather than libbfd.a for bfd_demangle due to licensing insanity
      on binutils. (libiberty is LGPL2, libbfd is GPL3.)
      
      If we just rely on autodetection, we'll end up with libbfd linked against us,
      since they're both in binutils-static in the buildroot.
      
      Cc: Ingo Molnar <mingo@elte.hu>
      LKML-Reference: <20100510204335.GA7565@bombadil.infradead.org>
      Signed-off-by: default avatarKyle McMartin <kyle@redhat.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      cdcf58a4
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Check if /dev/null can be used as the -o gcc argument · 581f07ec
      Arnaldo Carvalho de Melo authored
      commit 1703f2c3 upstream.
      
      At least on Debian PARISC64, using:
      
      acme@parisc:~/git/linux-2.6-tip$ gcc -v
      Using built-in specs.
      Target: hppa-linux-gnu
      Configured with: ../src/configure -v --with-pkgversion='Debian
      4.3.4-6' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
      --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
      --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --disable-libssp --enable-checking=release --build=hppa-linux-gnu --host=hppa-linux-gnu --target=hppa-linux-gnu Thread model: posix gcc version 4.3.4 (Debian 4.3.4-6)
      
      there are issues about using 'gcc -o /dev/null':
      
      /usr/bin/ld: final link failed: File truncated
      collect2: ld returned 1 exit status
      
      So we test that and use /dev/null in environments where it
      works, while using an .INTERMEDIATE file on those where it can't
      be used, so that the .perf.dev.null file can be used instead and
      then deleted when make exits.
      
      Researched-with: Kyle McMartin <kyle@mcmartin.ca>
      Researched-with: Mauro Carvalho Chehab <mchehab@redhat.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1263293910-8484-2-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      [bwh: Backport to 2.6.32]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      581f07ec
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Move QUIET_STDERR def to before first use · ddb02625
      Arnaldo Carvalho de Melo authored
      commit 83039518 upstream.
      
      QUIET_STDERR is used when detecting if -fstack-protector-all can
      be used.
      
      Noticed while building the perf tools on a Debian PARISC64
      machine.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frédéric Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1263293910-8484-1-git-send-email-acme@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      [bwh: Backport to 2.6.32]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      ddb02625
    • Michael S. Tsirkin's avatar
      perf: Use default compiler mode by default · d14085b7
      Michael S. Tsirkin authored
      commit 81516c5f upstream.
      
      gcc with no flags typically is a sane default for systems to
      use, and looking at the running kernel is probably broken for
      cross-builds anyway, so let's not do this.  Add EXTRA_CFLAGS so
      that users can override default gcc mode if they want to.
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Acked-by: default avatarArjan van de Ven <arjan@infradead.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      LKML-Reference: <20091122121335.GA24254@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      [bwh: Backport to 2.6.32]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      d14085b7
    • Michael S. Tsirkin's avatar
      perf tools: Suggest static libraries as well · d3a9ac6e
      Michael S. Tsirkin authored
      commit b197c7ef upstream.
      
      On error, suggest installing static libraries
      along with shared libraries.
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      LKML-Reference: <20091122131311.GA24318@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      [bwh: Backport to 2.6.32]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      d3a9ac6e
    • Michael S. Tsirkin's avatar
      perf tools: Add V=2 option to help debug config issues · 8d169bab
      Michael S. Tsirkin authored
      commit 7baed9af upstream.
      
      Make standard error show up on console when V=2 is set.
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      LKML-Reference: <20091122112726.GC13644@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      [bwh: Backport to 2.6.32]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      8d169bab
    • Michael S. Tsirkin's avatar
      perf tools: Support static build · 9fb3f52e
      Michael S. Tsirkin authored
      commit 75138650 upstream.
      
      This makes it possible to build perf statically, by
      performing:
      
        make LDFLAGS=-static
      
      Since static libraries are only searched in the order they are
      specified, move library list from LDFLAGS to EXTLIBS, so that
      they are put at the end of linker command line.
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      LKML-Reference: <20091029152002.GA5406@redhat.com>
      [ v2: resolved conflicts ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      [bwh: Backport to 2.6.32]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9fb3f52e
    • Michael Cree's avatar
      perf tools: Test -fstack-protector-all compiler option for inclusion in CFLAGS · 3d53e5c4
      Michael Cree authored
      commit 5d7bdab7 upstream.
      
      Some architectures (e.g. Alpha) do not support the
      -fstack-protector-all compiler option and the use of the option
      with -Werror causes the compiler to abort and the build fails.
      
      Test that the compiler supports -fstack-protector-all before
      inclusion in CFLAGS.
      Signed-off-by: default avatarMichael Cree <mcree@orcon.net.nz>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <20091111074302.GA3728@omega>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      [bwh: Backport to 2.6.32]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3d53e5c4
    • Steven Rostedt's avatar
      perf tools: Add 'make DEBUG=1' to remove the -O6 cflag · ac4642d0
      Steven Rostedt authored
      commit 60d526f7 upstream.
      
      When using gdb to debug perf, it is practically impossible to
      use when perf is compiled with -O6. For developers, this patch
      adds the DEBUG feature to the make command line so that a
      developer can easily remove the optimization flag.
      
      LKML-Reference: <1255590330.8392.446.camel@twins>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      LKML-Reference: <20091020232033.984323261@goodmis.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      [bwh: Backport to 2.6.32]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      ac4642d0
    • Randy Dunlap's avatar
      perf tools: Display better error messages on missing packages · 7d5a5a07
      Randy Dunlap authored
      commit 1abc7f55 upstream.
      
      Check for libelf headers and glibc headers separately so that
      the error message correctly identifies which package
      installation is missing/needed.
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Cc: paulus@samba.org
      Cc: a.p.zijlstra@chello.nl
      Cc: efault@gmx.de
      Cc: fweisbec@gmail.com
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      LKML-Reference: <4ADBCCE8.3060300@oracle.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      [bwh: Backport to 2.6.32]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      7d5a5a07
    • Edgar (gimli) Hucek's avatar
      Bluetooth: Add MacBookAir3,1(2) support · 7117cec3
      Edgar (gimli) Hucek authored
      commit 3e3ede7d upstream.
      
      Adding the new MacBookAir3,1(2) to btusb.
      
      Output without the patch and btusb loaded :
      
      T:  Bus=03 Lev=02 Prnt=03 Port=02 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
      D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=05ac ProdID=821b Rev= 0.34
      S:  Manufacturer=Apple Inc.
      S:  Product=Bluetooth USB Host Controller
      C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=  0mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
      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=(none)
      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=(none)
      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=(none)
      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=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  32 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  32 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
      
      Output with the patch and btusb loaded :
      
      T:  Bus=03 Lev=02 Prnt=03 Port=02 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
      D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=05ac ProdID=821b Rev= 0.34
      S:  Manufacturer=Apple Inc.
      S:  Product=Bluetooth USB Host Controller
      C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=  0mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) 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=  32 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  32 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=  64 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 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=  64 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
      Signed-off-by: default avatarEdgar (gimli) Hucek <gimli@dark-green.com>
      Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      7117cec3