1. 04 8月, 2015 3 次提交
    • G
      drivers/usb: Delete XHCI command timer if necessary · ffe5adcb
      Gavin Shan 提交于
      When xhci_mem_cleanup() is called, it's possible that the command
      timer isn't initialized and scheduled. For those cases, to delete
      the command timer causes soft-lockup as below stack dump shows.
      
      The patch avoids deleting the command timer if it's not scheduled
      with the help of timer_pending().
      
      NMI watchdog: BUG: soft lockup - CPU#40 stuck for 23s! [kworker/40:1:8140]
            :
      NIP [c000000000150b30] lock_timer_base.isra.34+0x90/0xa0
      LR [c000000000150c24] try_to_del_timer_sync+0x34/0xa0
      Call Trace:
      [c000000f67c975e0] [c0000000015b84f8] mon_ops+0x0/0x8 (unreliable)
      [c000000f67c97620] [c000000000150c24] try_to_del_timer_sync+0x34/0xa0
      [c000000f67c97660] [c000000000150cf0] del_timer_sync+0x60/0x80
      [c000000f67c97690] [c00000000070ac0c] xhci_mem_cleanup+0x5c/0x5e0
      [c000000f67c97740] [c00000000070c2e8] xhci_mem_init+0x1158/0x13b0
      [c000000f67c97860] [c000000000700978] xhci_init+0x88/0x110
      [c000000f67c978e0] [c000000000701644] xhci_gen_setup+0x2b4/0x590
      [c000000f67c97970] [c0000000006d4410] xhci_pci_setup+0x40/0x190
      [c000000f67c979f0] [c0000000006b1af8] usb_add_hcd+0x418/0xba0
      [c000000f67c97ab0] [c0000000006cb15c] usb_hcd_pci_probe+0x1dc/0x5c0
      [c000000f67c97b50] [c0000000006d3ba4] xhci_pci_probe+0x64/0x1f0
      [c000000f67c97ba0] [c0000000004fe9ac] local_pci_probe+0x6c/0x130
      [c000000f67c97c30] [c0000000000e5ce8] work_for_cpu_fn+0x38/0x60
      [c000000f67c97c60] [c0000000000eacb8] process_one_work+0x198/0x470
      [c000000f67c97cf0] [c0000000000eb6ac] worker_thread+0x37c/0x5a0
      [c000000f67c97d80] [c0000000000f2730] kthread+0x110/0x130
      [c000000f67c97e30] [c000000000009660] ret_from_kernel_thread+0x5c/0x7c
      
      Cc: <stable@vger.kernel.org>
      Reported-by: NPriya M. A <priyama2@in.ibm.com>
      Signed-off-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ffe5adcb
    • M
      xhci: fix off by one error in TRB DMA address boundary check · 7895086a
      Mathias Nyman 提交于
      We need to check that a TRB is part of the current segment
      before calculating its DMA address.
      
      Previously a ring segment didn't use a full memory page, and every
      new ring segment got a new memory page, so the off by one
      error in checking the upper bound was never seen.
      
      Now that we use a full memory page, 256 TRBs (4096 bytes), the off by one
      didn't catch the case when a TRB was the first element of the next segment.
      
      This is triggered if the virtual memory pages for a ring segment are
      next to each in increasing order where the ring buffer wraps around and
      causes errors like:
      
      [  106.398223] xhci_hcd 0000:00:14.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 0 comp_code 1
      [  106.398230] xhci_hcd 0000:00:14.0: Looking for event-dma fffd3000 trb-start fffd4fd0 trb-end fffd5000 seg-start fffd4000 seg-end fffd4ff0
      
      The trb-end address is one outside the end-seg address.
      
      Cc: <stable@vger.kernel.org>
      Tested-by: NArkadiusz Miśkiewicz <arekm@maven.pl>
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      7895086a
    • G
      Merge tag 'fixes-for-v4.2-rc6' of... · 0f79fd80
      Greg Kroah-Hartman 提交于
      Merge tag 'fixes-for-v4.2-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus
      
      Felipe writes:
      
      usb: fixes for v4.2-rc6
      
      Just one major fix which has been pending since January.
      
      Somehow it fell through the cracks, but here it is. Basically,
      this fixes a bug in udc-core when gadget registration fails.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      0f79fd80
  2. 03 8月, 2015 1 次提交
  3. 31 7月, 2015 1 次提交
  4. 28 7月, 2015 3 次提交
    • D
      USB: sierra: add 1199:68AB device ID · 74472233
      Dirk Behme 提交于
      Add support for the Sierra Wireless AR8550 device with
      USB descriptor 0x1199, 0x68AB.
      
      It is common with MC879x modules 1199:683c/683d which
      also are composite devices with 7 interfaces (0..6)
      and also MDM62xx based as the AR8550.
      
      The major difference are only the interface attributes
      02/02/01 on interfaces 3 and 4 on the AR8550. They are
      vendor specific ff/ff/ff on MC879x modules.
      
      lsusb reports:
      
      Bus 001 Device 004: ID 1199:68ab Sierra Wireless, Inc.
      Device Descriptor:
        bLength                18
        bDescriptorType         1
        bcdUSB               2.00
        bDeviceClass            0 (Defined at Interface level)
        bDeviceSubClass         0
        bDeviceProtocol         0
        bMaxPacketSize0        64
        idVendor           0x1199 Sierra Wireless, Inc.
        idProduct          0x68ab
        bcdDevice            0.06
        iManufacturer           3 Sierra Wireless, Incorporated
        iProduct                2 AR8550
        iSerial                 0
        bNumConfigurations      1
        Configuration Descriptor:
          bLength                 9
          bDescriptorType         2
          wTotalLength          198
          bNumInterfaces          7
          bConfigurationValue     1
          iConfiguration          1 Sierra Configuration
          bmAttributes         0xe0
            Self Powered
            Remote Wakeup
          MaxPower                0mA
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        0
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass    255 Vendor Specific Subclass
            bInterfaceProtocol    255 Vendor Specific Protocol
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x81  EP 1 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x01  EP 1 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        1
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass    255 Vendor Specific Subclass
            bInterfaceProtocol    255 Vendor Specific Protocol
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x82  EP 2 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x02  EP 2 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        2
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass    255 Vendor Specific Subclass
            bInterfaceProtocol    255 Vendor Specific Protocol
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x83  EP 3 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x03  EP 3 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        3
            bAlternateSetting       0
            bNumEndpoints           3
            bInterfaceClass         2 Communications
            bInterfaceSubClass      2 Abstract (modem)
            bInterfaceProtocol      1 AT-commands (v.25ter)
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x84  EP 4 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               5
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x85  EP 5 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x04  EP 4 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        4
            bAlternateSetting       0
            bNumEndpoints           3
            bInterfaceClass         2 Communications
            bInterfaceSubClass      2 Abstract (modem)
            bInterfaceProtocol      1 AT-commands (v.25ter)
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x86  EP 6 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               5
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x87  EP 7 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x05  EP 5 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        5
            bAlternateSetting       0
            bNumEndpoints           3
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass    255 Vendor Specific Subclass
            bInterfaceProtocol    255 Vendor Specific Protocol
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x88  EP 8 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               5
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x89  EP 9 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x06  EP 6 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        6
            bAlternateSetting       0
            bNumEndpoints           3
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass    255 Vendor Specific Subclass
            bInterfaceProtocol    255 Vendor Specific Protocol
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x8a  EP 10 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               5
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x8b  EP 11 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x07  EP 7 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval              32
      Device Qualifier (for other device speed):
        bLength                10
        bDescriptorType         6
        bcdUSB               2.00
        bDeviceClass            0 (Defined at Interface level)
        bDeviceSubClass         0
        bDeviceProtocol         0
        bMaxPacketSize0        64
        bNumConfigurations      1
      Device Status:     0x0001
        Self Powered
      Signed-off-by: NDirk Behme <dirk.behme@de.bosch.com>
      Cc: Lars Melin <larsm17@gmail.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      74472233
    • G
      Merge tag 'fixes-for-v4.2-rc5' of... · 84b6b023
      Greg Kroah-Hartman 提交于
      Merge tag 'fixes-for-v4.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus
      
      Felipe writes:
      
      usb: fixes for v4.2-rc5
      
      BCD driver now reads correct register to fetch HW
      dequeue pointer address.
      
      f_uac2 got a fix for bInterval calculation.
      
      Both f_hid and f_printer can now correctly limit number
      of instances when used through configfs.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      84b6b023
    • G
      Merge tag 'usb-ci-v4.2-rc5' of... · a14aad05
      Greg Kroah-Hartman 提交于
      Merge tag 'usb-ci-v4.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-linus
      
      Peter writes:
      
      It is a bug fix that using ehci_init_driver at wrong place, the
      correct place should be at ci core driver's module_init, and
      only be called one time.
      a14aad05
  5. 27 7月, 2015 7 次提交
  6. 26 7月, 2015 12 次提交
    • T
      x86/mm/pat: Revert 'Adjust default caching mode translation tables' · 1a4e8795
      Thomas Gleixner 提交于
      Toshi explains:
      
      "No, the default values need to be set to the fallback types,
       i.e. minimal supported mode.  For WC and WT, UC is the fallback type.
      
       When PAT is disabled, pat_init() does update the tables below to
       enable WT per the default BIOS setup.  However, when PAT is enabled,
       but CPU has PAT -errata, WT falls back to UC per the default values."
      
      Revert: ca1fec58 'x86/mm/pat: Adjust default caching mode translation tables'
      Requested-by: NToshi Kani <toshi.kani@hp.com>
      Cc: Jan Beulich <jbeulich@suse.de>
      Link: http://lkml.kernel.org/r/1437577776.3214.252.camel@hp.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      1a4e8795
    • M
      perf/x86/intel/cqm: Return cached counter value from IRQ context · 2c534c0d
      Matt Fleming 提交于
      Peter reported the following potential crash which I was able to
      reproduce with his test program,
      
      [  148.765788] ------------[ cut here ]------------
      [  148.765796] WARNING: CPU: 34 PID: 2840 at kernel/smp.c:417 smp_call_function_many+0xb6/0x260()
      [  148.765797] Modules linked in:
      [  148.765800] CPU: 34 PID: 2840 Comm: perf Not tainted 4.2.0-rc1+ #4
      [  148.765803]  ffffffff81cdc398 ffff88085f105950 ffffffff818bdfd5 0000000000000007
      [  148.765805]  0000000000000000 ffff88085f105990 ffffffff810e413a 0000000000000000
      [  148.765807]  ffffffff82301080 0000000000000022 ffffffff8107f640 ffffffff8107f640
      [  148.765809] Call Trace:
      [  148.765810]  <NMI>  [<ffffffff818bdfd5>] dump_stack+0x45/0x57
      [  148.765818]  [<ffffffff810e413a>] warn_slowpath_common+0x8a/0xc0
      [  148.765822]  [<ffffffff8107f640>] ? intel_cqm_stable+0x60/0x60
      [  148.765824]  [<ffffffff8107f640>] ? intel_cqm_stable+0x60/0x60
      [  148.765825]  [<ffffffff810e422a>] warn_slowpath_null+0x1a/0x20
      [  148.765827]  [<ffffffff811613f6>] smp_call_function_many+0xb6/0x260
      [  148.765829]  [<ffffffff8107f640>] ? intel_cqm_stable+0x60/0x60
      [  148.765831]  [<ffffffff81161748>] on_each_cpu_mask+0x28/0x60
      [  148.765832]  [<ffffffff8107f6ef>] intel_cqm_event_count+0x7f/0xe0
      [  148.765836]  [<ffffffff811cdd35>] perf_output_read+0x2a5/0x400
      [  148.765839]  [<ffffffff811d2e5a>] perf_output_sample+0x31a/0x590
      [  148.765840]  [<ffffffff811d333d>] ? perf_prepare_sample+0x26d/0x380
      [  148.765841]  [<ffffffff811d3497>] perf_event_output+0x47/0x60
      [  148.765843]  [<ffffffff811d36c5>] __perf_event_overflow+0x215/0x240
      [  148.765844]  [<ffffffff811d4124>] perf_event_overflow+0x14/0x20
      [  148.765847]  [<ffffffff8107e7f4>] intel_pmu_handle_irq+0x1d4/0x440
      [  148.765849]  [<ffffffff811d07a6>] ? __perf_event_task_sched_in+0x36/0xa0
      [  148.765853]  [<ffffffff81219bad>] ? vunmap_page_range+0x19d/0x2f0
      [  148.765854]  [<ffffffff81219d11>] ? unmap_kernel_range_noflush+0x11/0x20
      [  148.765859]  [<ffffffff814ce6fe>] ? ghes_copy_tofrom_phys+0x11e/0x2a0
      [  148.765863]  [<ffffffff8109e5db>] ? native_apic_msr_write+0x2b/0x30
      [  148.765865]  [<ffffffff8109e44d>] ? x2apic_send_IPI_self+0x1d/0x20
      [  148.765869]  [<ffffffff81065135>] ? arch_irq_work_raise+0x35/0x40
      [  148.765872]  [<ffffffff811c8d86>] ? irq_work_queue+0x66/0x80
      [  148.765875]  [<ffffffff81075306>] perf_event_nmi_handler+0x26/0x40
      [  148.765877]  [<ffffffff81063ed9>] nmi_handle+0x79/0x100
      [  148.765879]  [<ffffffff81064422>] default_do_nmi+0x42/0x100
      [  148.765880]  [<ffffffff81064563>] do_nmi+0x83/0xb0
      [  148.765884]  [<ffffffff818c7c0f>] end_repeat_nmi+0x1e/0x2e
      [  148.765886]  [<ffffffff811d07a6>] ? __perf_event_task_sched_in+0x36/0xa0
      [  148.765888]  [<ffffffff811d07a6>] ? __perf_event_task_sched_in+0x36/0xa0
      [  148.765890]  [<ffffffff811d07a6>] ? __perf_event_task_sched_in+0x36/0xa0
      [  148.765891]  <<EOE>>  [<ffffffff8110ab66>] finish_task_switch+0x156/0x210
      [  148.765898]  [<ffffffff818c1671>] __schedule+0x341/0x920
      [  148.765899]  [<ffffffff818c1c87>] schedule+0x37/0x80
      [  148.765903]  [<ffffffff810ae1af>] ? do_page_fault+0x2f/0x80
      [  148.765905]  [<ffffffff818c1f4a>] schedule_user+0x1a/0x50
      [  148.765907]  [<ffffffff818c666c>] retint_careful+0x14/0x32
      [  148.765908] ---[ end trace e33ff2be78e14901 ]---
      
      The CQM task events are not safe to be called from within interrupt
      context because they require performing an IPI to read the counter value
      on all sockets. And performing IPIs from within IRQ context is a
      "no-no".
      
      Make do with the last read counter value currently event in
      event->count when we're invoked in this context.
      Reported-by: NPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: NMatt Fleming <matt.fleming@intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vikas Shivappa <vikas.shivappa@intel.com>
      Cc: Kanaka Juvva <kanaka.d.juvva@intel.com>
      Cc: Will Auld <will.auld@intel.com>
      Cc: <stable@vger.kernel.org>
      Link: http://lkml.kernel.org/r/1437490509-15373-1-git-send-email-matt@codeblueprint.co.ukSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      2c534c0d
    • L
      Merge tag 'usb-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 26ae19a3
      Linus Torvalds 提交于
      Pull USB fixes from Greg KH:
       "Here's a few USB and PHY fixes for 4.2-rc4.
      
        Nothing major, the shortlog has the full details.
      
        All of these have been in linux-next successfully"
      
      * tag 'usb-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (21 commits)
        USB: OHCI: fix bad #define in ohci-tmio.c
        cdc-acm: Destroy acm_minors IDR on module exit
        usb-storage: Add ignore-device quirk for gm12u320 based usb mini projectors
        usb-storage: ignore ZTE MF 823 card reader in mode 0x1225
        USB: OHCI: Fix race between ED unlink and URB submission
        usb: core: lpm: set lpm_capable for root hub device
        xhci: do not report PLC when link is in internal resume state
        xhci: prevent bus_suspend if SS port resuming in phase 1
        xhci: report U3 when link is in resume state
        xhci: Calculate old endpoints correctly on device reset
        usb: xhci: Bugfix for NULL pointer deference in xhci_endpoint_init() function
        xhci: Workaround to get D3 working in Intel xHCI
        xhci: call BIOS workaround to enable runtime suspend on Intel Braswell
        usb: dwc3: Reset the transfer resource index on SET_INTERFACE
        usb: gadget: udc: core: Fix argument of dma_map_single for IOMMU
        usb: gadget: mv_udc_core: fix phy_regs I/O memory leak
        usb: ulpi: ulpi_init should be executed in subsys_initcall
        phy: berlin-usb: fix divider for BG2
        phy: berlin-usb: fix divider for BG2CD
        phy/pxa: add HAS_IOMEM dependency
        ...
      26ae19a3
    • L
      Merge tag 'tty-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 82b35f37
      Linus Torvalds 提交于
      Pull tty/serial driver fixes from Greg KH:
       "Here are a number of small serial and tty fixes for reported issues.
      
        All have been in linux-next successfully"
      
      * tag 'tty-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: vt: Fix !TASK_RUNNING diagnostic warning from paste_selection()
        serial: core: Fix crashes while echoing when closing
        m32r: Add ioreadXX/iowriteXX big-endian mmio accessors
        Revert "serial: imx: initialized DMA w/o HW flow enabled"
        sc16is7xx: fix FIFO address of secondary UART
        sc16is7xx: fix Kconfig dependencies
        serial: etraxfs-uart: Fix release etraxfs_uart_ports
        tty/vt: Fix the memory leak in visual_init
        serial: amba-pl011: Fix devm_ioremap_resource return value check
        n_tty: signal and flush atomically
      82b35f37
    • L
      Merge tag 'staging-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · b0de415a
      Linus Torvalds 提交于
      Pull staging driver fixes from Greg KH:
       "Here are a number of iio and staging driver fixes for reported issues
        for 4.2-rc4.
      
        All have been in linux-next for a while with no problems"
      
      * tag 'staging-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (34 commits)
        iio:light:stk3310: make endianness independent of host
        iio:light:stk3310: move device register to end of probe
        iio: mma8452: use iio event type IIO_EV_TYPE_MAG
        iio: mcp320x: Fix NULL pointer dereference
        iio: adc: vf610: fix the adc register read fail issue
        iio: mlx96014: Replace offset sign
        iio: magnetometer: mmc35240: fix SET/RESET sequence
        iio: magnetometer: mmc35240: Fix SET/RESET mask
        iio: magnetometer: mmc35240: Fix crash in pm suspend
        iio:magnetometer:bmc150_magn: output intended variable
        iio:magnetometer:bmc150_magn: add regmap dependency
        staging: vt6656: check ieee80211_bss_conf bssid not NULL
        staging: vt6655: check ieee80211_bss_conf bssid not NULL
        iio: tmp006: Check channel info on write
        iio: sx9500: Add missing init in sx9500_buffer_pre{en,dis}able()
        iio:light:ltr501: fix regmap dependency
        iio:light:ltr501: fix variable in ltr501_init
        iio: sx9500: fix bug in compensation code
        iio: sx9500: rework error handling of raw readings
        iio: magnetometer: mmc35240: fix available sampling frequencies
        ...
      b0de415a
    • L
      Merge tag 'char-misc-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · e433b656
      Linus Torvalds 提交于
      Pull char/misc driver fixes from Greg KH:
       "Here are some char and misc driver fixes for reported issues.
      
        One parport patch is reverted as it was incorrect, thanks to testing
        by the 0-day bot"
      
      * tag 'char-misc-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        parport: Revert "parport: fix memory leak"
        mei: prevent unloading mei hw modules while the device is opened.
        misc: mic: scif bug fix for vmalloc_to_page crash
        parport: fix freeing freed memory
        parport: fix memory leak
        parport: fix error handling
      e433b656
    • S
      parport: Revert "parport: fix memory leak" · 4e5a74f1
      Sudip Mukherjee 提交于
      This reverts commit 23c40591 ("parport: fix memory leak")
      
      par_dev->state was already being removed in parport_unregister_device().
      Reported-by: NYing Huang <ying.huang@intel.com>
      Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4e5a74f1
    • L
      Merge tag 'trace-v4.2-rc2-fix3' of... · 763e326c
      Linus Torvalds 提交于
      Merge tag 'trace-v4.2-rc2-fix3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull ftrace fix from Steven Rostedt:
       "Back in 3.16 the ftrace code was redesigned and cleaned up to remove
        the double iteration list (one for registered ftrace ops, and one for
        registered "global" ops), to just use one list.  That simplified the
        code but also broke the function tracing filtering on pid.
      
        This updates the code to handle the filtering again with the new
        logic"
      
      * tag 'trace-v4.2-rc2-fix3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Fix breakage of set_ftrace_pid
      763e326c
    • L
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm · 45200838
      Linus Torvalds 提交于
      Pull libnvdimm fix from Dan Williams:
       "A minor fix for the libnvdimm subsystem.
      
        This is not critical.  The problem can be worked around in userspace
        by putting the namespace temporarily into raw mode
        (ndctl_namespace_set_raw_mode() from libndctl), but that is awkward
        for management utilities.
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm:
        libnvdimm: fix namespace seed creation
      45200838
    • L
      Merge tag 'md/4.2-fixes' of git://neil.brown.name/md · aca105a6
      Linus Torvalds 提交于
      Pull md fixes from Neil Brown:
       "Some md fixes for 4.2
      
        Several are tagged for -stable.
        A few aren't because they are not very, serious or because they are in
        the 'experimental' cluster code"
      
      * tag 'md/4.2-fixes' of git://neil.brown.name/md:
        md/raid5: clear R5_NeedReplace when no longer needed.
        Fix read-balancing during node failure
        md-cluster: fix bitmap sub-offset in bitmap_read_sb
        md: Return error if request_module fails and returns positive value
        md: Skip cluster setup in case of error while reading bitmap
        md/raid1: fix test for 'was read error from last working device'.
        md: Skip cluster setup for dm-raid
        md: flush ->event_work before stopping array.
        md/raid10: always set reshape_safe when initializing reshape_position.
        md/raid5: avoid races when changing cache size.
      aca105a6
    • L
      Merge tag 'for-linus-20150724' of git://git.infradead.org/linux-mtd · 32fd3d4a
      Linus Torvalds 提交于
      Pull MTD fixes from Brian Norris:
       "Two trivial updates.  I meant to send these much earlier, but I've
        been preoccupied.
      
         - Add MAINTAINERS entry for diskonchip g3 driver
      
         - Fix an overlooked conflict in bitfield value assignments
      
        The latter update is a bit overdue, but there's no reason to wait any
        longer"
      
      * tag 'for-linus-20150724' of git://git.infradead.org/linux-mtd:
        mtd: nand: Fix NAND_USE_BOUNCE_BUFFER flag conflict
        MAINTAINERS: mtd: docg3: add docg3 maintainer
      32fd3d4a
    • D
      libnvdimm: fix namespace seed creation · 8ca24353
      Dan Williams 提交于
      A new BLK namespace "seed" device is created whenever the current seed
      is successfully probed.  However, if that namespace is assigned to a BTT
      it may never directly experience a successful probe as it is a
      subordinate device to a BTT configuration.
      
      The effect of the current code is that no new namespaces can be
      instantiated, after the seed namespace, to consume available BLK DPA
      capacity.  Fix this by treating a successful BTT probe event as a
      successful probe event for the backing namespace.
      Reported-by: NNicholas Moulin <nicholas.w.moulin@linux.intel.com>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      8ca24353
  7. 25 7月, 2015 13 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 33b40178
      Linus Torvalds 提交于
      Pull block fixes from Jens Axboe:
       "Four smaller fixes for the current series.  This contains:
      
         - A fix for clones of discard bio's, that can cause data corruption.
           From Martin.
      
         - A fix for null_blk, where in certain queue modes it could access a
           request after it had been freed.  From Mike Krinkin.
      
         - An error handling leak fix for blkcg, from Tejun.
      
         - Also from Tejun, export of the functions that a file system needs
           to implement cgroup writeback support"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: Do a full clone when splitting discard bios
        block: export bio_associate_*() and wbc_account_io()
        blkcg: fix gendisk reference leak in blkg_conf_prep()
        null_blk: fix use-after-free problem
      33b40178
    • L
      Merge branch 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 9fbf075c
      Linus Torvalds 提交于
      Pull libata fixes from Tejun Heo:
       "A couple important fixes.
      
         - A block layer change which removed restriction on max transfer size
           led to silent data corruption on some devices.  A new quirk is
           added to restore the old size limit for the reported device.  If it
           gets reported on more devices, we might have to consider restoring
           the restriction for ATA devices by default.
      
         - There finally is a SSD which is confirmed to cause data corruption
           on TRIM regardless of which flavor is used.  A new quirk is added
           and the device is blacklisted
      
         - Other device-specific workarounds"
      
      * 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        libata: Do not blacklist M510DC
        libata: increase the timeout when setting transfer mode
        libata: add ATA_HORKAGE_MAX_SEC_1024 to revert back to previous max_sectors limit
        libata: force disable trim for SuperSSpeed S238
        libata: add ATA_HORKAGE_NOTRIM
        libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for HP 250GB SATA disk VB0250EAVER
        ata: pmp: add quirk for Marvell 4140 SATA PMP
      9fbf075c
    • L
      Merge tag 'mmc-4.2-rc3' of git://git.linaro.org/people/ulf.hansson/mmc · 1e63dca7
      Linus Torvalds 提交于
      Pull MMC fixes from Ulf Hansson:
       "Here are some mmc fixes intended for v4.2 rc4.
      
        Note, most of the changes are for the sdhci-esdhc-imx controller,
        which also required us to modify some related DTS files.  Those
        changes have been acked by the SoC maintainer.
      
        MMC core:
         - Fix a reference inbalance issue for power_ro_lock_show() sysfs handler
      
        MMC host:
         - omap_hsmmc: Fix IRQ errorhandling for CD, DTO, and CRC
         - sdhci: Prevent a kernel panic while using DMA
         - mtk-sd: Let it depend on HAS_DMA to prevent build errors
         - sdhci-esdhc: Make 8BIT bus work
         - sdhci-esdhc-imx: Fix some regressions for DT based platforms
         - sdhci-pxav3: Fix a regression for DT based platforms"
      
      * tag 'mmc-4.2-rc3' of git://git.linaro.org/people/ulf.hansson/mmc:
        mmc: sdhci-pxav3: fix platform_data is not initialized
        dts: mmc: fsl-imx-esdhc: remove fsl,cd-controller support
        mmc: sdhci-esdhc-imx: clear f_max in boarddata
        mmc: sdhci-esdhc-imx: remove duplicated dts parsing
        mmc: sdhci: make max-frequency property in device tree work
        mmc: sdhci-esdhc-imx: move all non dt probe code into one function
        mmc: sdhci-esdhc-imx: fix cd regression for dt platform
        dts: imx7: fix sd card gpio polarity specified in device tree
        dts: imx25: fix sd card gpio polarity specified in device tree
        dts: imx6: fix sd card gpio polarity specified in device tree
        dts: imx53: fix sd card gpio polarity specified in device tree
        dts: imx51: fix sd card gpio polarity specified in device tree
        mmc: sdhci-esdhc: Make 8BIT bus work
        mmc: block: Add missing mmc_blk_put() in power_ro_lock_show()
        mmc: MMC_MTK should depend on HAS_DMA
        mmc: sdhci check parameters before call dma_free_coherent
        mmc: omap_hsmmc: Handle BADA, DEB and CEB interrupts
        mmc: omap_hsmmc: Fix DTO and DCRC handling
      1e63dca7
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · a52bd79e
      Linus Torvalds 提交于
      Pull input fixes from Dmitry Torokhov:
       "A fix for the warnings/oops when handling HID devices with "unnamed"
        LEDs and couple of other driver fixups""
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: goodix - fix touch coordinates on WinBook TW100 and TW700
        Input: LEDs - skip unnamed LEDs
        Input: usbtouchscreen - avoid unresponsive TSC-30 touch screen
        Input: elantech - force resolution of 31 u/mm
        Input: zforce - don't overwrite the stack
      a52bd79e
    • L
      Merge tag 'regulator-fix-v4.2-rc3' of... · afdf0b91
      Linus Torvalds 提交于
      Merge tag 'regulator-fix-v4.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fixes from Mark Brown:
       "As well as some driver specific fixes there's several fixes here for
        the core support for regulators supplying other regulators fixing both
        an issue with ACPI support (which had never been tested before) and
        some error handling and device removal issues that Javier noticed"
      
      * tag 'regulator-fix-v4.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: core: Fix memory leak in regulator_resolve_supply()
        regulator: core: Increase refcount for regulator supply's module
        regulator: core: Handle full constraints systems when resolving supplies
        regulator: 88pm800: fix LDO vsel_mask value
        regulator: max8973: Fix up control flag option for bias control
        regulator: s2mps11: Fix GPIO suspend enable shift wrapping bug
      afdf0b91
    • L
      Merge tag 'spi-fix-v4.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 365c83c3
      Linus Torvalds 提交于
      Pull spi fixes from Mark Brown:
       "A small collection of pretty much unremarkable driver specific fixes
        here plus the addition of a new device ID to spidev which requires no
        other code changes"
      
      * tag 'spi-fix-v4.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: imx: Fix small DMA transfers
        spi: zynq: missing break statement
        spi: SPI_ZYNQMP_GQSPI should depend on HAS_DMA
        spi: spidev: add compatible value for LTC2488
        spi: img-spfi: fix support for speeds up to 1/4th input clock
      365c83c3
    • L
      Merge tag 'sound-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 5b7f00a5
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "This has been a calm week again: one minor lockdep fix for PCM core,
        and the most of the rest are HD-audio quirks and fixups for various
        chips and machines"
      
      * tag 'sound-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Add headset mic pin quirk for a Dell device
        ALSA: hda - remove one pin from ALC292_STANDARD_PINS
        ALSA: hda - Add new GPU codec ID 0x10de007d to snd-hda
        ALSA: hda: add new AMD PCI IDs with proper driver caps
        ALSA: hda - Fix Skylake codec timeout
        ALSA: hda - Add headset mic support for Acer Aspire V5-573G
        ALSA: sparc: Add missing kfree in error path
        ALSA: pcm: Fix lockdep warning with nonatomic PCM ops
      5b7f00a5
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 874bf9ee
      Linus Torvalds 提交于
      Pull HID fixes from Jiri Kosina:
      
       - kernel crash fixes for multitouch and wacom drivers, by Brent Adam
         and Dan Carpenter
      
       - cp2112 data packet race condition corruption fix, by Antonio Borneo
      
       - a few new device IDs for wacom and microsoft drivers
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: cp2112: fix to force single data-report reply
        HID: wacom: Enable pad device for older Bamboo Touch tablets
        HID: multitouch: Fix fields from pen report ID being interpreted for multitouch
        HID: microsoft: Add quirk for MS Surface Type/Touch cover
        HID: wacom: NULL dereferences on error in probe()
      874bf9ee
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 077b2053
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Aome amdgpu, one i915, one ttm and one hlcdc, nothing too scary.
      
        All seems fine for about this time"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/ttm: recognize ARM64 arch in ioprot handler
        drm/amdgpu/cz/dpm: properly report UVD and VCE clock levels
        drm/amdgpu/cz: implement voltage validation properly
        drm/amdgpu: add VCE harvesting instance query
        drm/amdgpu: implement VCE 3.0 harvesting support (v4)
        drm/amdgpu/dce10: Re-set VBLANK interrupt state when enabling a CRTC
        drm/amdgpu/dce11: Re-set VBLANK interrupt state when enabling a CRTC
        drm: Stop resetting connector state to unknown
        drm/i915: Use two 32bit reads for select 64bit REG_READ ioctls
        drm: atmel-hlcdc: fix vblank initial state
      077b2053
    • L
      Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · b4975000
      Linus Torvalds 提交于
      Pull arch/tile bugfix from Chris Metcalf:
       "This fixes a bug in freeing the initramfs memory"
      
      * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        tile: use free_bootmem_late() for initrd
      b4975000
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · c624406f
      Linus Torvalds 提交于
      Pull KVM fixes from Paolo Bonzini:
       "Everything related to the new quirks and memory type features:
      
         - small improvements to the quirks API
      
         - extending one of the quirks from just AMD to Intel as well, because
           4.2 can show the same problem with problematic firmware on Intel
           too"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86: rename quirk constants to KVM_X86_QUIRK_*
        KVM: vmx: obey KVM_QUIRK_CD_NW_CLEARED
        KVM: x86: introduce kvm_check_has_quirk
        KVM: MTRR: simplify kvm_mtrr_get_guest_memory_type
        KVM: MTRR: fix memory type handling if MTRR is completely disabled
      c624406f
    • S
      ftrace: Fix breakage of set_ftrace_pid · e3eea140
      Steven Rostedt (Red Hat) 提交于
      Commit 4104d326 ("ftrace: Remove global function list and call function
      directly") simplified the ftrace code by removing the global_ops list with a
      new design. But this cleanup also broke the filtering of PIDs that are added
      to the set_ftrace_pid file.
      
      Add back the proper hooks to have pid filtering working once again.
      
      Cc: stable@vger.kernel.org # 3.16+
      Reported-by: NMatt Fleming <matt@console-pimps.org>
      Reported-by: NRichard Weinberger <richard.weinberger@gmail.com>
      Tested-by: NMatt Fleming <matt@console-pimps.org>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      e3eea140
    • B
      Input: goodix - fix touch coordinates on WinBook TW100 and TW700 · 8b5a359c
      Bastien Nocera 提交于
      The touchscreen on the WinBook TW100 and TW700 don't match the default
      display, with 0,0 touches being reported when touching at the bottom
      right of the screen.
      
        1280,800             0,800
               +-------------+
               |             |
               |             |
               |             |
               +-------------+
          1280,0             0,0
      
      It's unfortunately impossible to detect this problem with data from the
      DSDT, or other auxiliary metadata, so fallback to quirking this specific
      model of tablet instead.
      Signed-off-by: NBastien Nocera <hadess@hadess.net>
      Reviewed-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      8b5a359c