1. 14 Mar, 2013 2 commits
    • Russell King's avatar
      ARM: fix scheduling while atomic warning in alignment handling code · 8b0b5806
      Russell King authored
      commit b255188f upstream.
      
      Paolo Pisati reports that IPv6 triggers this warning:
      
      BUG: scheduling while atomic: swapper/0/0/0x40000100
      Modules linked in:
      [<c001b1c4>] (unwind_backtrace+0x0/0xf0) from [<c0503c5c>] (__schedule_bug+0x48/0x5c)
      [<c0503c5c>] (__schedule_bug+0x48/0x5c) from [<c0508608>] (__schedule+0x700/0x740)
      [<c0508608>] (__schedule+0x700/0x740) from [<c007007c>] (__cond_resched+0x24/0x34)
      [<c007007c>] (__cond_resched+0x24/0x34) from [<c05086dc>] (_cond_resched+0x3c/0x44)
      [<c05086dc>] (_cond_resched+0x3c/0x44) from [<c0021f6c>] (do_alignment+0x178/0x78c)
      [<c0021f6c>] (do_alignment+0x178/0x78c) from [<c00083e0>] (do_DataAbort+0x34/0x98)
      [<c00083e0>] (do_DataAbort+0x34/0x98) from [<c0509a60>] (__dabt_svc+0x40/0x60)
      Exception stack(0xc0763d70 to 0xc0763db8)
      3d60:                                     e97e805e e97e806e 2c000000 11000000
      3d80: ea86bb00 0000002c 00000011 e97e807e c076d2a8 e97e805e e97e806e 0000002c
      3da0: 3d000000 c0763dbc c04b98fc c02a8490 00000113 ffffffff
      [<c0509a60>] (__dabt_svc+0x40/0x60) from [<c02a8490>] (__csum_ipv6_magic+0x8/0xc8)
      
      Fix this by using probe_kernel_address() stead of __get_user().
      Reported-by: default avatarPaolo Pisati <p.pisati@gmail.com>
      Tested-by: default avatarPaolo Pisati <p.pisati@gmail.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8b0b5806
    • Russell King's avatar
      ARM: VFP: fix emulation of second VFP instruction · 95a2b9b9
      Russell King authored
      commit 5e4ba617 upstream.
      
      Martin Storsjö reports that the sequence:
      
              ee312ac1        vsub.f32        s4, s3, s2
              ee702ac0        vsub.f32        s5, s1, s0
              e59f0028        ldr             r0, [pc, #40]
              ee111a90        vmov            r1, s3
      
      on Raspberry Pi (implementor 41 architecture 1 part 20 variant b rev 5)
      where s3 is a denormal and s2 is zero results in incorrect behaviour -
      the instruction "vsub.f32 s5, s1, s0" is not executed:
      
              VFP: bounce: trigger ee111a90 fpexc d0000780
              VFP: emulate: INST=0xee312ac1 SCR=0x00000000
              ...
      
      As we can see, the instruction triggering the exception is the "vmov"
      instruction, and we emulate the "vsub.f32 s4, s3, s2" but fail to
      properly take account of the FPEXC_FP2V flag in FPEXC.  This is because
      the test for the second instruction register being valid is bogus, and
      will always skip emulation of the second instruction.
      Reported-by: default avatarMartin Storsjö <martin@martin.st>
      Tested-by: default avatarMartin Storsjö <martin@martin.st>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      95a2b9b9
  2. 03 Mar, 2013 31 commits
  3. 28 Feb, 2013 7 commits
    • Greg Kroah-Hartman's avatar
      Linux 3.0.67 · 98bbf356
      Greg Kroah-Hartman authored
      98bbf356
    • Josh Boyer's avatar
      USB: usb-storage: unusual_devs update for Super TOP SATA bridge · cfb2ddca
      Josh Boyer authored
      commit 18e03310 upstream.
      
      The current entry in unusual_cypress.h for the Super TOP SATA bridge devices
      seems to be causing corruption on newer revisions of this device.  This has
      been reported in Arch Linux and Fedora.  The original patch was tested on
      devices with bcdDevice of 1.60, whereas the newer devices report bcdDevice
      as 2.20.  Limit the UNUSUAL_DEV entry to devices less than 2.20.
      
      This fixes https://bugzilla.redhat.com/show_bug.cgi?id=909591
      
      The Arch Forum post on this is here:
      	https://bbs.archlinux.org/viewtopic.php?id=152011Reported-by: default avatarCarsten S. <carsteniq@yahoo.com>
      Tested-by: default avatarCarsten S. <carsteniq@yahoo.com>
      Signed-off-by: default avatarJosh Boyer <jwboyer@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cfb2ddca
    • fangxiaozhi's avatar
      USB: storage: properly handle the endian issues of idProduct · ba18450b
      fangxiaozhi authored
      commit cd060956 upstream.
      
      1. The idProduct is little endian, so make sure its value to be
      compatible with the current CPU. Make no break on big endian processors.
      Signed-off-by: default avatarfangxiaozhi <huananhu@huawei.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ba18450b
    • Roger Quadros's avatar
      USB: ehci-omap: Fix autoloading of module · e39d97f9
      Roger Quadros authored
      commit 04753523 upstream.
      
      The module alias should be "ehci-omap" and not
      "omap-ehci" to match the platform device name.
      The omap-ehci module should now autoload correctly.
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e39d97f9
    • Bjørn Mork's avatar
      USB: option: add Huawei "ACM" devices using protocol = vendor · b3747d5a
      Bjørn Mork authored
      commit 1f3f6877 upstream.
      
      The USB device descriptor of one identity presented by a few
      Huawei morphing devices have serial functions with class codes
      02/02/ff, indicating CDC ACM with a vendor specific protocol. This
      combination is often used for MSFT RNDIS functions, and the CDC
      ACM class driver will therefore ignore such functions.
      
      The CDC ACM class driver cannot support functions with only 2
      endpoints.  The underlying serial functions of these modems are
      also believed to be the same as for alternate device identities
      already supported by the option driver. Letting the same driver
      handle these functions independently of the current identity
      ensures consistent handling and user experience.
      
      There is no need to blacklist these devices in the rndis_host
      driver. Huawei serial functions will either have only 2 endpoints
      or a CDC ACM functional descriptor with bmCapabilities != 0, making
      them correctly ignored as "non RNDIS" by that driver.
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b3747d5a
    • Bjørn Mork's avatar
      USB: option: add Yota / Megafon M100-1 4g modem · 20fc8033
      Bjørn Mork authored
      commit cd565279 upstream.
      
      Interface layout:
      
       00 CD-ROM
       01 debug COM port
       02 AP control port
       03 modem
       04 usb-ethernet
      
      Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  4 Spd=480  MxCh= 0
      D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
      P:  Vendor=0408 ProdID=ea42 Rev= 0.00
      S:  Manufacturer=Qualcomm, Incorporated
      S:  Product=Qualcomm CDMA Technologies MSM
      S:  SerialNumber=353568051xxxxxx
      C:* #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
      E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=84(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
      E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=86(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
      E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      20fc8033
    • Bjørn Mork's avatar
      USB: option: add and update Alcatel modems · 2466f862
      Bjørn Mork authored
      commit f8f0302b upstream.
      
      Adding three currently unsupported modems based on information
      from .inf driver files:
      
        Diag  VID_1BBB&PID_0052&MI_00
        AGPS  VID_1BBB&PID_0052&MI_01
        VOICE VID_1BBB&PID_0052&MI_02
        AT    VID_1BBB&PID_0052&MI_03
        Modem VID_1BBB&PID_0052&MI_05
        wwan  VID_1BBB&PID_0052&MI_06
      
        Diag  VID_1BBB&PID_00B6&MI_00
        AT    VID_1BBB&PID_00B6&MI_01
        Modem VID_1BBB&PID_00B6&MI_02
        wwan  VID_1BBB&PID_00B6&MI_03
      
        Diag  VID_1BBB&PID_00B7&MI_00
        AGPS  VID_1BBB&PID_00B7&MI_01
        VOICE VID_1BBB&PID_00B7&MI_02
        AT    VID_1BBB&PID_00B7&MI_03
        Modem VID_1BBB&PID_00B7&MI_04
        wwan  VID_1BBB&PID_00B7&MI_05
      
      Updating the blacklist info for the X060S_X200 and X220_X500D,
      reserving interfaces for a wwan driver, based on
      
        wwan VID_1BBB&PID_0000&MI_04
        wwan VID_1BBB&PID_0017&MI_06
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2466f862