20 Mar, 2009

2 commits


19 Mar, 2009

3 commits


18 Mar, 2009

22 commits

  • Ingo Molnar
     
  • Benjamin Herrenschmidt
     
  • The "c-enter" USB to Toshiba 1.8" IDE enclosure needs special treatment
    to work flawlessly. This patch is absolutely trivial, as the integrated
    USB-IDE bridge is already identified to be an "unusual" device, only the
    bcdDevice is different (lower) to the bcdDeviceMin already included in
    the kernel.
    It is a Prolific 2507 bridge.

    T: Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 4 Spd=480 MxCh= 0
    D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=067b ProdID=2507 Rev= 0.01
    S: Manufacturer=Prolific Technology Inc.
    S: Product=ATAPI-6 Bridge Controller
    S: SerialNumber=00000272
    C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
    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=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

    Signed-off-by: Thomas Bartosik
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Thomas Bartosik
     
  • Option GTM380 in Modem mode uses Product ID 0x7201. This has been tested and works
    on production systems for over 6 months.

    Signed-off-by: Achilleas Kotsis
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Achilleas Kotsis
     
  • * newer versions of the Novatel Wireless U727 CDMA 3G USB stick
    have a different Product ID (0x5010); adding this ID makes them
    work just fine with the option driver

    Signed-off-by: Dirk Hohndel
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Dirk Hohndel
     
  • Current firmware revision 5.60 still behaves the same,
    so update the quirk up a (non-existing) 99.99 revision.

    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493415

    Signed-off-by: Moritz Muehlenhoff
    Tested-by: Jan Heitkoetter
    Cc: stable
    Signed-off-by: Phil Dibowitz

    Moritz Muehlenhoff
     
  • The generic cdc-acm driver is now the best one to handle Sony Ericsson
    F3507g-based devices (which the Dell 5530 is a rebrand of), now that all
    the pieces are in place (ie, cac477e8f1038c41b6f29d3161ce351462ef3df7).
    Removing the IDs from option allows cdc-acm to handle the device.

    Signed-off-by: Dan Williams
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Dan Williams
     
  • This patch (as1225) fixes a bug in ehci-hcd. The condition for
    whether unlinked QHs can become IDLE should not be that the controller
    is halted, but rather that the controller isn't running. In other
    words when the root hub is suspended, the hardware doesn't own any
    QHs.

    This fixes a problem that can show up during hibernation: If a QH is
    only partially unlinked when the root hub is frozen, then when the
    root hub is thawed the QH won't be in the IDLE state. As a result it
    can't be used properly for new URB submissions.

    Signed-off-by: Alan Stern
    Reported-by: Brandon Philips
    Tested-by: Brandon Philips
    Acked-by: David Brownell
    Cc: Stable
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • ehci-hcd uses usb_get_urb() and usb_put_urb() in an unbalanced way causing
    isochronous URB's kref.counts incrementing once per usb_submit_urb() call.
    The culprit is *usb being set to NULL when usb_put_urb() is called after URB
    is given back.
    Due to other fixes there is no need for ehci-hcd to deal with usb_get_urb()
    nor usb_put_urb() anymore, so patch removes their usages in ehci-hcd.
    Patch also makes ehci_to_hcd(ehci)->self.bandwidth_allocated adjust, if a
    stream finishes.

    Signed-off-by: Karsten Wiese
    Cc: David Brownell
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Karsten Wiese
     
  • Please consider this small patch for the usb option-card driver.
    This patch adds the ZTE 622 usb modem device.

    Signed-off-by: Albert Pauw
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Albert Pauw
     
  • Fix locking on one wa_urb_enqueue_b's fail path. There was omitted unlock.

    Signed-off-by: Jiri Slaby
    Cc: Inaky Perez-Gonzalez
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby
     
  • Make sure we don't leak locked vstdev->lock in vstusb_write. Unlock
    properly on one fail path.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby
     
  • Don't unlock adutux_mutex when not held.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby
     
  • There is an omitted unlock in mdc800_usb_probe's fail path. Add it.

    Signed-off-by: Jiri Slaby
    Cc: Henning Zabel
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby
     
  • We do not hold mutex in one place in cxacru_cm, but unlock it on fail path.
    Fix this.

    Signed-off-by: Jiri Slaby
    Cc: Simon Arlott
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby
     
  • Enable the SD-Card interface on the GI 0431 HSUPA stick from Option.

    The unusual_devs.h entry is necessary because the device descriptor is
    vendor-specific. That prevents usb-storage from binding to it as an
    interface driver.

    T: Bus=07 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 15 Spd=480 MxCh= 0
    D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1
    P: Vendor=0af0 ProdID=7501 Rev= 0.00
    S: Manufacturer=Option N.V.
    S: Product=Globetrotter HSUPA Modem
    C:* #Ifs=11 Cfg#= 1 Atr=a0 MxPwr=500mA
    I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
    E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
    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= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
    E: Ad=84(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= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
    E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
    I:* If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
    E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
    I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
    E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
    I:* If#= 7 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
    E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
    I:* If#= 8 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
    E: Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
    I:* If#= 9 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
    E: Ad=8a(I) Atr=03(Int.) MxPS= 64 Ivl=2ms
    E: Ad=8b(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
    I:* If#=10 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
    E: Ad=0b(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=8c(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

    Signed-off-by: Jan Dumon
    Signed-off-by: Phil Dibowitz
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Jan Dumon
     
  • From: Robert M. Kenney
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Robert M. Kenney
     
  • Signed-off-by: Michael Hennerich
    Signed-off-by: Bryan Wu
    Signed-off-by: Andrew Morton
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Michael Hennerich
     
  • Add the following devices to the USB FTDI SIO device table:

    Bus 001 Device 009: ID 03eb:2109 Atmel Corp.
    http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4187

    Bus 001 Device 008: ID 1cf1:0001
    http://www.dresden-elektronik.de/shop/prod75.html

    Bus 001 Device 007: ID 1c1f:0004
    http://www.dresden-elektronik.de/shop/prod64.html

    Signed-off-by: Axel Wachtler
    Signed-off-by: Robert Richter
    Signed-off-by: Andrew Morton
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Axel Wachtler
     
  • The usbfs driver manages a list of completed asynchronous URBs. But
    it is too eager to free the entries on this list: destroy_async() gets
    called whenever an interface is unbound or a device is removed, and it
    deallocates the outstanding struct async entries for all URBs on that
    interface or device. This is wrong; the user program should be able
    to reap an URB any time after it has completed, regardless of whether
    or not the interface is still bound or the device is still present.

    This patch (as1222) moves the code for deallocating the completed list
    entries from destroy_async() to usbdev_release(). The outstanding
    entries won't be freed until the user program has closed the device
    file, thereby eliminating any possibility that the remaining URBs
    might still be reaped.

    This fixes a bug in which a program can hang in the USBDEVFS_REAPURB
    ioctl when the device is unplugged.

    Reported-and-tested-by: Martin Poupe
    Signed-off-by: Alan Stern
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • The driver already supports the 1 protocol support, so just add it to
    the MODULE_DEVICE_TABLE entry so it properly picks up these devices.

    Thanks to Jouni Rynö for pointing this out.

    Reported-by: Jouni Ryno
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • open() will never succeed, as we always return -ENODEV. Fix this
    obvious bug.

    Thanks to Jouni Ryno for reporting it.

    Reported-by: Jouni Ryno
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

17 Mar, 2009

7 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:
    dm crypt: wait for endio to complete before destruction
    dm crypt: fix kcryptd_async_done parameter
    dm io: respect BIO_MAX_PAGES limit
    dm table: rework reference counting fix
    dm ioctl: validate name length when renaming

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
    acpi-wmi: unsigned cannot be less than 0
    thinkpad-acpi: fix module autoloading for older models
    acer-wmi: Unmark as 'experimental'
    acpi-wmi: Unmark as 'experimental'
    acer-wmi: double free in acer_rfkill_exit()
    platform/x86: depends instead of select for laptop platform drivers
    asus-laptop: use select instead of depends on
    eeepc-laptop: restore acpi_generate_proc_event()
    asus-laptop: restore acpi_generate_proc_event()
    acpi: check for pxm_to_node_map overflow
    ACPI: remove doubled status checking
    ACPI suspend: Blacklist Toshiba Satellite L300 that requires to set SCI_EN directly on resume
    Revert "ACPI: make some IO ports off-limits to AML"
    suspend: switch the Asus Pundit P1-AH2 to old ACPI sleep ordering

    Linus Torvalds
     
  • The following oops has been reported when dm-crypt runs over a loop device.

    ...
    [ 70.381058] Process loop0 (pid: 4268, ti=cf3b2000 task=cf1cc1f0 task.ti=cf3b2000)
    ...
    [ 70.381058] Call Trace:
    [ 70.381058] [] ? crypt_dec_pending+0x5e/0x62 [dm_crypt]
    [ 70.381058] [] ? crypt_endio+0xa2/0xaa [dm_crypt]
    [ 70.381058] [] ? crypt_endio+0x0/0xaa [dm_crypt]
    [ 70.381058] [] ? bio_endio+0x2b/0x2e
    [ 70.381058] [] ? dec_pending+0x224/0x23b [dm_mod]
    [ 70.381058] [] ? clone_endio+0x79/0xa4 [dm_mod]
    [ 70.381058] [] ? clone_endio+0x0/0xa4 [dm_mod]
    [ 70.381058] [] ? bio_endio+0x2b/0x2e
    [ 70.381058] [] ? loop_thread+0x380/0x3b7
    [ 70.381058] [] ? do_lo_send_aops+0x0/0x165
    [ 70.381058] [] ? autoremove_wake_function+0x0/0x33
    [ 70.381058] [] ? loop_thread+0x0/0x3b7

    When a table is being replaced, it waits for I/O to complete
    before destroying the mempool, but the endio function doesn't
    call mempool_free() until after completing the bio.

    Fix it by swapping the order of those two operations.

    The same problem occurs in dm.c with md referenced after dec_pending.
    Again, we swap the order.

    Cc: stable@kernel.org
    Signed-off-by: Milan Broz
    Signed-off-by: Alasdair G Kergon

    Milan Broz
     
  • In the async encryption-complete function (kcryptd_async_done), the
    crypto_async_request passed in may be different from the one passed to
    crypto_ablkcipher_encrypt/decrypt. Only crypto_async_request->data is
    guaranteed to be same as the one passed in. The current
    kcryptd_async_done uses the passed-in crypto_async_request directly
    which may cause the AES-NI-based AES algorithm implementation to panic.

    This patch fixes this bug by only using crypto_async_request->data,
    which points to dm_crypt_request, the crypto_async_request passed in.
    The original data (convert_context) is gotten from dm_crypt_request.

    [mbroz@redhat.com: reworked]
    Cc: stable@kernel.org
    Signed-off-by: Huang Ying
    Cc: Herbert Xu
    Signed-off-by: Milan Broz
    Signed-off-by: Andrew Morton
    Signed-off-by: Alasdair G Kergon

    Huang Ying
     
  • dm-io calls bio_get_nr_vecs to get the maximum number of pages to use
    for a given device. It allocates one additional bio_vec to use
    internally but failed to respect BIO_MAX_PAGES, so fix this.

    This was the likely cause of:
    https://bugzilla.redhat.com/show_bug.cgi?id=173153

    Cc: stable@kernel.org
    Signed-off-by: Mikulas Patocka
    Signed-off-by: Alasdair G Kergon

    Mikulas Patocka
     
  • Fix an error introduced in dm-table-rework-reference-counting.patch.

    When there is failure after table initialization, we need to use
    dm_table_destroy, not dm_table_put, to free the table.

    dm_table_put may be used only after dm_table_get.

    Cc: Kiyoshi Ueda
    Signed-off-by: Mikulas Patocka
    Reviewed-by: Jonathan Brassow
    Reviewed-by: Alasdair G Kergon
    Signed-off-by: Alasdair G Kergon

    Mikulas Patocka
     
  • When renaming a mapped device validate the length of the new name.

    The rename ioctl accepted any correctly-terminated string enclosed
    within the data passed from userspace. The other ioctls enforce a
    size limit of DM_NAME_LEN. If the name is changed and becomes longer
    than that, the device can no longer be addressed by name.

    Fix it by properly checking for device name length (including
    terminating zero).

    Cc: stable@kernel.org
    Signed-off-by: Milan Broz
    Reviewed-by: Jonathan Brassow
    Reviewed-by: Alasdair G Kergon
    Signed-off-by: Alasdair G Kergon

    Milan Broz
     

16 Mar, 2009

6 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)
    r8169: revert "r8169: read MAC address from EEPROM on init (2nd attempt)"
    r8169: use hardware auto-padding.
    igb: remove ASPM L0s workaround
    netxen: remove old flash check.
    mv643xx_eth: fix unicast address filter corruption on mtu change
    xfrm: Fix xfrm_state_find() wrt. wildcard source address.
    emac: Fix clock control for 405EX and 405EXr chips
    ixgbe: fix multiple unicast address support
    via-velocity: Fix DMA mapping length errors on transmit.
    qlge: bugfix: Pad outbound frames smaller than 60 bytes.
    qlge: bugfix: Move netif_napi_del() to common call point.
    qlge: bugfix: Tell hw to strip vlan header.
    qlge: bugfix: Increase filter on inbound csum.
    dnet: replace obsolete *netif_rx_* functions with *napi_*
    net: Add be2net driver.
    dnet: Fix warnings on 64-bit.
    dnet: Dave DNET ethernet controller driver (updated)
    ipv6: Fix BUG when disabled ipv6 module is unloaded
    bnx2x: Using DMAE to initialize the chip
    bnx2x: Casting page alignment
    ...

    Linus Torvalds
     
  • Impact: help prevent extinction of species

    The Tasmanian Devil is a shy iconic Australian creature named for its
    spine-chilling screech. It is threatened with extinction due to a
    scientifically interesting but horrific transmissible facial cancer.

    This one is standing in for Tux for one release using the far less-known
    Devil Facial Tux Disguise.

    Save The Tasmanian Devil http://tassiedevil.com.au

    Signed-off-by: Linux.conf.au Hobart Team
    Signed-off-by: Rusty Russell
    Signed-off-by: Linus Torvalds

    Rusty Russell
     
  • Conflicts:
    arch/parisc/kernel/irq.c

    Ingo Molnar
     
  • Len Brown
     
  • include/linux/pci-acpi.h:74:

    typedef u32 acpi_status;

    result is unsigned, so an error returned by acpi_bus_register_driver()
    will not be noticed.

    Signed-off-by: Roel Kluin
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Roel Kluin
     
  • Looking at the source, there seems to be a missing * to match my DMI
    string. I mean for newer IBM and Lenovo's laptops you match either one
    of the following:
    MODULE_ALIAS("dmi:bvnIBM:*:svnIBM:*:pvrThinkPad*:rvnIBM:*");
    MODULE_ALIAS("dmi:bvnLENOVO:*:svnLENOVO:*:pvrThinkPad*:rvnLENOVO:*");

    While for older Thinkpads, you do this (for instance):
    IBM_BIOS_MODULE_ALIAS("1[0,3,6,8,A-G,I,K,M-P,S,T]");

    with IBM_BIOS_MODULE_ALIAS being MODULE_ALIAS("dmi:bvnIBM:bvr" __type "ET??WW")

    Note there's no * terminating the string. As result, udev doesn't load
    anything because modprobe cannot find anything matching this (my
    machine actually):

    udevtest: run: '/sbin/modprobe dmi:bvnIBM:bvr1IET71WW(2.10):bd06/16/2006:svnIBM:pn236621U:pvrNotAv

    Signed-off-by: Mathieu Chouquet-Stringer
    Acked-by: Henrique de Moraes Holschuh
    Signed-off-by: Len Brown

    Mathieu Chouquet-Stringer