05 Dec, 2009

1 commit


03 Dec, 2009

9 commits


02 Dec, 2009

13 commits

  • mmc_remove_host() will cause the mmc core to switch off the bus power by
    eventually calling pxamci_set_ios(). This function uses the regulator or
    the GPIO which have been freed already.

    This causes the following Oops on module unload.

    [ 49.519649] Unable to handle kernel paging request at virtual address 30303a70
    [ 49.526878] pgd = c7084000
    [ 49.529563] [30303a70] *pgd=00000000
    [ 49.533136] Internal error: Oops: 5 [#1]
    [ 49.537025] last sysfs file: /sys/devices/platform/pxa27x-ohci/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/scsi_level
    [ 49.547471] Modules linked in: pxamci(-) eeti_ts
    [ 49.552061] CPU: 0 Not tainted (2.6.32-rc8 #322)
    [ 49.557001] PC is at regulator_is_enabled+0x3c/0xbc
    [ 49.561846] LR is at regulator_is_enabled+0x30/0xbc
    [ 49.566691] pc : [] lr : [] psr: 60000013
    [ 49.566702] sp : c7083e70 ip : 30303a30 fp : 00000000
    [ 49.578093] r10: c705e200 r9 : c7082000 r8 : c705e2e0
    [ 49.583280] r7 : c7061340 r6 : c7061340 r5 : c7083e70 r4 : 00000000
    [ 49.589759] r3 : c04dc434 r2 : c04dc434 r1 : c03eecea r0 : 00000047
    [ 49.596241] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    [ 49.603329] Control: 0000397f Table: a7084018 DAC: 00000015
    [ 49.609031] Process rmmod (pid: 1101, stack limit = 0xc7082278)
    [ 49.614908] Stack: (0xc7083e70 to 0xc7084000)
    [ 49.619238] 3e60: c7082000 c703c4f8 c705ea00 c04f4074
    [ 49.627366] 3e80: 00000000 c705e3a0 ffffffff c0247ddc c70361a0 00000000 c705e3a0 ffffffff
    [ 49.635499] 3ea0: c705e200 bf006400 c78c4f00 c705e200 c705e3a0 ffffffff c705e200 ffffffff
    [ 49.643633] 3ec0: c04d8ac8 c02476d0 ffffffff c0247c60 c705e200 c0248678 c705e200 c0249064
    [ 49.651765] 3ee0: ffffffff bf006204 c04d8ad0 c04d8ad0 c04d8ac8 bf007490 00000880 c00440c4
    [ 49.659898] 3f00: 0000b748 c01c5708 bf007490 c01c44c8 c04d8ac8 c04d8afc bf007490 c01c4570
    [ 49.668031] 3f20: bf007490 bf00750c c04f4258 c01c37a4 00000000 bf00750c c7083f44 c007b014
    [ 49.676162] 3f40: 4000d000 6d617870 08006963 00000001 00000000 c7085000 00000001 00000000
    [ 49.684287] 3f60: 4000d000 c7083f8c 00000001 bea01a54 00005401 c7ab1400 c00440c4 00082000
    [ 49.692420] 3f80: bf00750c 00000880 c7083f8c 00000000 4000cfa8 00000000 00000880 bea01cc8
    [ 49.700552] 3fa0: 00000081 c0043f40 00000000 00000880 bea01cc8 00000880 00000006 00000000
    [ 49.708677] 3fc0: 00000000 00000880 bea01cc8 00000081 00000097 0000cca4 0000b748 00000000
    [ 49.716802] 3fe0: 4001a4f0 bea01cc0 00018bf4 4001a4fc 20000010 bea01cc8 a063e021 a063e421
    [ 49.724958] [] (regulator_is_enabled+0x3c/0xbc) from [] (mmc_regulator_set_ocr+0x14/0xd8)
    [ 49.734836] [] (mmc_regulator_set_ocr+0x14/0xd8) from [] (pxamci_set_ios+0xd8/0x17c [pxamci])
    [ 49.745044] [] (pxamci_set_ios+0xd8/0x17c [pxamci]) from [] (mmc_power_off+0x50/0x58)
    [ 49.754555] [] (mmc_power_off+0x50/0x58) from [] (mmc_detach_bus+0x68/0xc4)
    [ 49.763207] [] (mmc_detach_bus+0x68/0xc4) from [] (mmc_stop_host+0xd4/0x1bc)
    [ 49.771944] [] (mmc_stop_host+0xd4/0x1bc) from [] (mmc_remove_host+0xc/0x20)
    [ 49.780681] [] (mmc_remove_host+0xc/0x20) from [] (pxamci_remove+0xc8/0x174 [pxamci])
    [ 49.790211] [] (pxamci_remove+0xc8/0x174 [pxamci]) from [] (platform_drv_remove+0x1c/0x24)
    [ 49.800164] [] (platform_drv_remove+0x1c/0x24) from [] (__device_release_driver+0x7c/0xc4)
    [ 49.810110] [] (__device_release_driver+0x7c/0xc4) from [] (driver_detach+0x60/0x8c)
    [ 49.819535] [] (driver_detach+0x60/0x8c) from [] (bus_remove_driver+0x90/0xcc)
    [ 49.828452] [] (bus_remove_driver+0x90/0xcc) from [] (sys_delete_module+0x1d8/0x254)
    [ 49.837891] [] (sys_delete_module+0x1d8/0x254) from [] (ret_fast_syscall+0x0/0x28)
    [ 49.847145] Code: eb06c53a e596c030 e1a0500d e59f106c (e59c0040)
    [ 49.853566] ---[ end trace b5fa66a00cea142f ]---

    Signed-off-by: Daniel Mack
    Reported-by: Sven Neumann
    Cc: Pierre Ossman
    Cc: linux-mmc@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: stable@kernel.org
    Signed-off-by: Eric Miao

    Daniel Mack
     
  • This patch fixes the compilation failure of
    rc32434 due to a bad module parameter description.

    Signed-off-by: Florian Fainelli
    Signed-off-by: Wim Van Sebroeck

    Florian Fainelli
     
  • The size value passed to ioremap_nocache() is not correct.
    Use resource_size() to get the correct value.

    Signed-off-by: H Hartley Sweeten
    Cc: Phil Sutter
    Signed-off-by: Wim Van Sebroeck

    H Hartley Sweeten
     
  • When detecting power failure, the probe function would reset the clock
    time to defined state.

    However, the clock's _date_ might still be bogus and a subsequent probe
    fails when sanity-checking these values.

    Change the power-failure fixup code to do a full setting of rtc_time,
    including a valid date.

    Signed-off-by: Johannes Weiner
    Cc: Alessandro Zummo
    Cc: Paul Gortmaker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • The possible CCR_Y2K register values are 19 or 20 and struct rtc_time's
    tm_year is in years since 1900.

    The function translating rtc_time to register values assumes tm_year to be
    years since first christmas, though, and we end up storing 0 or 1 in the
    CCR_Y2K register, which the hardware does not refuse to do.

    A subsequent probing of the clock fails due to the invalid value range in
    the register, though.

    [ And if it didn't, reading the clock would yield a bogus year because
    the function translating registers to tm_year is assuming a register
    value of 19 or 20. ]

    This fixes the conversion from years since 1900 in tm_year to the
    corresponding CCR_Y2K value of 19 or 20.

    Signed-off-by: Johannes Weiner
    Cc: Alessandro Zummo
    Cc: Paul Gortmaker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • Prevent the AoE block driver from creating cache aliases of page cache
    pages on machines with virtually indexed caches.

    Building kernels on an AT91SAM9G20 board without this patch fails with
    segmentation faults after a couple of passes.

    Signed-off-by: Peter Horton
    Cc: "Ed L. Cashin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Horton
     
  • - Remove wrong and unnecessary unmask operation

    - Remove extra GEDR reading

    This fixes the loss of interrupts which occurs when two or more pins are
    triggered in close succession.

    Signed-off-by: Alek Du
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alek Du
     
  • Following issues have been addressed on DA8XX/OMAP-L1XX:

    a. Screen misalignment during booting when frame buffer console is
    enabled.

    b. Driver was configured always in PSEUDOCOLOR mode. This patch
    dynamically configures the driver either in PSEUDOCOLOUR or TRUECOLOR
    mode depending on bpp.

    c. The RED and BLUE offsets were interchanged resulting in wrong
    bootup logo colour.

    This patch has been tested on DA830/OMAP-L137 and DA850/OMAP-L138 EVMs.

    Signed-off-by: Sudhakar Rajashekhara
    Cc: Steve Chen
    Cc: Pavel Kiryukhin
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sudhakar Rajashekhara
     
  • "rtc" is freed and then dereferenced on the next line. This patch fixes
    that.

    Signed-off-by: Dan Carpenter
    Acked-by: Alessandro Zummo
    Cc: David Brownell
    Cc: Paul Gortmaker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Carpenter
     
  • Fixes:

    v4l/dvb_frontend.c: In function 'dvb_frontend_stop':
    v4l/dvb_frontend.c:707: error: implicit declaration of function 'init_MUTEX'

    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=14609

    Reported-by:
    Cc: Mauro Carvalho Chehab
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
    Staging: update TODO files
    Staging: hv: Fix some missing author names
    Staging: hv: Fix vmbus event handler bug
    Staging: hv: Fix argument order in incorrect memset invocations in hyperv driver.

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
    USB: Add support for Mobilcom Debitel USB UMTS Surf-Stick to option driver
    USB: work around for EHCI with quirky periodic schedules
    USB: musb: Fix CPPI IRQs not being signaled
    USB: musb: respect usb_request->zero in control requests
    USB: musb: fix ISOC Tx programming for CPPI DMAs
    USB: musb: Remove unwanted message in boot log
    usb: amd5536udc: fixed shared interrupt bug and warning oops
    USB: ftdi_sio: Keep going when write errors are encountered.
    USB: musb_gadget: fix STALL handling
    USB: EHCI: don't send Clear-TT-Buffer following a STALL

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
    tty/of_serial: add missing ns16550a id
    bcm63xx_uart: Fix serial driver compile breakage.
    tty_port: handle the nonblocking open of a dead port corner case

    Linus Torvalds
     

01 Dec, 2009

17 commits

  • There was confusion between the array size and the highest ISEL
    value possible.

    Reported-by: Dan Carpenter
    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • commit 4706b349f was a forward port of a fix that was needed
    for SLES10. But in fact it is not needed in mainline because
    the earlier commit dd00a99e7a fixes the same problem in a
    better way.
    Further, this commit introduces a bug in the way it interacts with
    the automatic read-error-correction. If, after a read error is
    successfully corrected, the same disk is chosen to re-read - the
    re-read won't be attempted but an error will be returned instead.

    After reverting that commit, there is the possibility that a
    read error on a read-only array (where read errors cannot
    be corrected as that requires a write) will repeatedly read the same
    device and continue to get an error.
    So in the "Array is readonly" case, fail the drive immediately on
    a read error.

    Signed-off-by: NeilBrown
    Cc: stable@kernel.org

    NeilBrown
     
  • * 'security' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6:
    mac80211: fix spurious delBA handling
    mac80211: fix two remote exploits

    Linus Torvalds
     
  • This patch adds the vendor and device id for the Mobilcom Debitel UMTS surf
    stick (a.k.a. 4G Systems XSStick W14, MobiData MBD-200HU, ...).

    To see these ids, you need to switch the stick to modem operation first
    with the help of usb_modeswitch. This makes it switch from 1c9e:f000 to
    1c9e:9603 and thus be recognized by the option driver.

    Signed-off-by: Gernot Hillier
    Signed-off-by: Greg Kroah-Hartman

    Gernot Hillier
     
  • a quirky chipset needs periodic schedules to run for a minimum
    time before they can be disabled again. This enforces the requirement
    with a time stamp and a calculated delay

    Signed-off-by: Oliver Neukum
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Oliver Neukum
     
  • On tx channel abort a cppi interrupt is generated for a short time by
    setting the lowest bit of the TCPPICOMPPTR register. It is then reset
    immediately by clearing the bit. When the interrupt handler is run,
    it does not detect an interrupt in the TCPPIMSKSR or RCPPIMSKSR
    registers and thus exits early without writing the TCPPIEOIR register.
    It appears that this inhibits further cppi interrupts until the handler
    is called by chance, f.ex. from davinci_interrupt().

    By moving the unmasking of the interrupt below the writes to
    TCPPICOMPPTR, no interrupt is generated and no write to TCPPIEOIR is
    necessary.

    Signed-off-by: Daniel Glöckner
    Signed-off-by: Ajay Kumar Gupta
    Signed-off-by: Greg Kroah-Hartman

    Daniel Glöckner
     
  • In gadget mode the answer to a control request should be followed by
    a zero-length packet if the amount transferred is an exact multiple of
    the endpoint's packet size and the requests has its "zero" flag set.

    This patch prevents the request from being immediately removed from the
    queue when a control IN transfer ends on a full packet and "zero" is set.
    The next time ep0_txstate is entered, a zero-length packet is queued and
    the request is removed as fifo_count is 0.

    Signed-off-by: Daniel Glöckner
    Signed-off-by: Ajay Kumar Gupta
    Signed-off-by: Greg Kroah-Hartman

    Daniel Glöckner
     
  • Isochronous Tx DMA is getting programmed but never getting started
    for CPPI and TUSB DMAs and thus Isochronous Tx doesn't work.

    Fixing it by starting DMAs using musb_h_tx_dma_start().

    Signed-off-by: Swaminathan S
    Signed-off-by: Babu Ravi
    Signed-off-by: Ajay Kumar Gupta
    Signed-off-by: Greg Kroah-Hartman

    Ajay Kumar Gupta
     
  • Removes below unnecessary log of almost 28 lines during boot.

    musb_hdrc: hw_ep 0shared, max 64
    musb_hdrc: hw_ep 1tx, max 512
    musb_hdrc: hw_ep 1rx, max 512
    ...
    ...
    musb_hdrc: hw_ep 13shared, max 4096
    musb_hdrc: hw_ep 14shared, max 1024
    musb_hdrc: hw_ep 15shared, max 1024

    Signed-off-by: Ajay Kumar Gupta
    Acked-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Ajay Kumar Gupta
     
  • - fixed shared interrupt bug reported by Vadim Lobanov
    - fixed possible warning oops on driver unload when connected
    - prevent interrupt flood in PIO mode ("modprobe amd5536udc use_dma=0")
    when using gadget ether

    Signed-off-by: Thomas Dahlmann
    Cc: Robert Richter
    Cc: David Brownell
    Cc: stable
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Thomas Dahlmann
     
  • The use of urb->actual_length to update tx_outstanding_bytes
    implicitly assumes that the number of bytes actually written is the
    same as the number of bytes we tried to write. On error that
    assumption is violated so just use transfer_buffer_length the number
    of bytes we intended to write to the device.

    If an error occurs we need to fall through and call
    usb_serial_port_softint to wake up processes waiting in
    tty_wait_until_sent.

    Signed-off-by: Eric W. Biederman
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • The driver incorrectly cancels the mass-storage device CSW request
    (which leads to device reset) due to giving back URB at the head of
    endpoint's queue after sending each STALL handshake; stop doing that
    and start checking for the queue being non-empty before stalling an
    endpoint and disallowing stall in such case in musb_gadget_set_halt()
    like the other gadget drivers do.

    Moreover, the driver starts Rx request despite of the endpoint being
    halted -- fix this by moving the SendStall bit check from musb_g_rx()
    to rxstate(). And we also sometimes get into rxstate() with DMA still
    active after clearing an endpoint's halt (not clear why), so bail out
    in this case, similarly to what txstate() does...

    While at it, also do the following changes :

    - in musb_gadget_set_halt(), remove pointless Tx FIFO flushing (the
    driver does not allow stalling with non-empty Tx FIFO anyway);

    - in rxstate(), stop pointlessly zeroing the 'csr' variable;

    - in musb_gadget_set_halt(), move the 'done' label to a more proper
    place;

    - in musb_g_rx(), eliminate the 'done' label completely...

    Signed-off-by: Sergei Shtylyov
    Cc:
    Signed-off-by: Greg Kroah-Hartman

    Sergei Shtylyov
     
  • This patch (as1304) fixes a regression in ehci-hcd. Evidently some
    hubs don't handle Clear-TT-Buffer requests correctly, so we should
    avoid sending them when they don't appear to be absolutely necessary.
    The reported symptom is that output on a downstream audio device cuts
    out because the hub stops relaying isochronous packets.

    The patch prevents Clear-TT-Buffer requests from being sent following
    a STALL handshake. In theory a STALL indicates either that the
    downstream device sent a STALL or that no matching TT buffer could be
    found. In either case, the transfer is completed and the TT buffer
    does not remain busy, so it doesn't need to be cleared.

    Also, the patch fixes a minor flaw in the code that actually sends the
    Clear-TT-Buffer requests. Although the pipe direction isn't really
    used for control transfers, it should be a Send rather than a Receive.

    Signed-off-by: Alan Stern
    Reported-by: Javier Kohen
    CC: David Brownell
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • Remove my mail address.

    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Greg Kroah-Hartman

    Bartlomiej Zolnierkiewicz
     
  • Fix some missing author names.
    They were accidentally removed by someone within Microsoft before the
    files were sent for inclusion in the kernel.

    Signed-off-by: Hank Janssen
    Signed-off-by: Haiyang Zhang
    Signed-off-by: Greg Kroah-Hartman

    Haiyang Zhang
     
  • The flag ENABLE_POLLING is always enabled in original Makefile, but
    accidently removed during porting to mainline kernel. The patch fixes
    this bug which can cause stalled network communication. Credit needs to
    go to Eric Sesterhenn For pointing out a
    typo in the original code as well.

    Signed-off-by: Hank Janssen
    Signed-off-by: Haiyang Zhang
    Signed-off-by: Greg Kroah-Hartman

    Haiyang Zhang
     
  • Nearly every invocation of memset in drivers/staging/hv/StorVsc.c has
    its arguments the wrong way around.

    Signed-off-by: Dave Jones
    Cc: Hank Janssen
    Signed-off-by: Greg Kroah-Hartman

    Dave Jones