26 Aug, 2008

11 commits


25 Aug, 2008

3 commits

  • Signed-off-by: Rusty Russell

    Rusty Russell
     
  • This is the last use of (the deprecated) stop_machine_run in the tree.

    Signed-off-by: Rusty Russell
    Acked-by: Jeremy Fitzhardinge

    Rusty Russell
     
  • Both v and vb->num_pages are u32 and unsigned int respectively. If v is less
    than vb->num_pages (and it is, when deflating the balloon), the result is a
    very large 32-bit number. Since we're returning a s64, instead of getting the
    same negative number we desire, we get a very large positive number.

    This handles the case where v < vb->num_pages and ensures we get a small,
    negative, s64 as the result.

    Rusty: please push this for 2.6.27-rc4. It's probably appropriate for the
    stable tree too as it will cause an unexpected OOM when ballooning.

    Signed-off-by: Anthony Liguori
    Signed-off-by: Rusty Russell (simplified)

    Anthony Liguori
     

24 Aug, 2008

2 commits

  • The acer_wmi driver does a DMI scan for quirks, and then sets flags into the
    "interface" datastructure for some cases. However, the quirks happen real early
    before "interface" is per se initialized from NULL.

    The patch below 1) adds a NULL pointer check and 2) (re)runs the quirks at the
    end, when "interface" has it's final value.

    Reported-by: kerneloops.org
    Acked-by: Carlos Corbacho
    CC: stable@vger.kernel.org
    Signed-off-by: Arjan van de Ven
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     
  • This patch lets the files using linux/version.h match the files that
    #include it.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     

22 Aug, 2008

24 commits

  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    [libata] pata_it821x: fix warning
    libata: Fix a large collection of DMA mode mismatches
    ahci: sis controllers actually can do PMP
    pata_via: clean up recent tf_load changes
    libata: restore SControl on detach
    libata: use ata_link_printk() when printing SError
    libata: always do follow-up SRST if hardreset returned -EAGAIN
    libata: fix EH action overwriting in ata_eh_reset()
    sata_mv: add the Gen IIE flag to the SoC devices.
    ata_piix: IDE Mode SATA patch for Intel Ibex Peak DeviceIDs
    ahci: RAID mode SATA patch for Intel Ibex Peak DeviceIDs
    sata_mv: don't issue two DMA commands concurrently
    libata: implement no[hs]rst force params

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    IPoIB: Fix deadlock on RTNL in ipoib_stop()
    IB/ipath: Fix incorrect check for max physical address in TID
    IB/ipath: Fix lost UD send work request

    Linus Torvalds
     
  • Reported by Andrew Morton:
    drivers/ata/pata_it821x.c: In function 'it821x_port_start':
    drivers/ata/pata_it821x.c:609: warning: 'mtype' may be used uninitialized in
    this function

    Pretty horrid fix, but so's a warning..

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • Dave Müller sent a diff for the pata_oldpiix that highlighted a problem
    where a lot of the ATA drivers assume dma_mode == 0 means "no DMA" while
    the core code uses 0xFF.

    This turns out to have other consequences such as code doing >= XFER_UDMA_0
    also catching 0xFF as UDMAlots. Fortunately it doesn't generally affect
    set_dma_mode, although some drivers call back into their own set mode code
    from other points.

    Having been through the drivers I've added helpers for using_udma/using_mwdma
    dma_enabled so that people don't open code ranges that may change (eg if UDMA8
    appears somewhere)

    Thanks to David for the initial bits
    [and added fix for pata_oldpiix from and signed-off-by Dave Mueller
    -jg]

    Signed-off-by: Alan Cox
    Signed-off-by: Jeff Garzik

    Alan Cox
     
  • SIS controllers were blacklisted for PMP as enabling it made device
    detection fail whether the device was PMP or not - the natural
    conclusion was the controller chokes on SRST w/ pmp==15. However, it
    turned out that the controller just didn't like issuing SRST after
    hardreset w/o clearing SError first. Interestingly, the SRST itself
    succeeds but the following commands fail.

    If SError is cleared between hardreset and SRST, which is the default
    behavior now, everything works fine and SIS controllers work with PMPs
    happily.

    Remove PMP blacklisting for SIS AHCIs.

    Signed-off-by: Tejun Heo
    Cc: Piter PUNK
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Commit bfce5e0179ad059035df28558724ff60af708e09 implemented custom
    tf_load for pata_via. This patch cleans it up a bit.

    * Instead of duplicating whole body, copy tf and set ATA_TFLAG_DEVICE
    when necessary.

    * Rename via_ata_tf_load() to via_tf_load().

    * No need to set .tf_load in via_port_ops_noirq as it inherits from
    via_port_ops.

    * Clean up indentation.

    Signed-off-by: Tejun Heo
    Cc: Joseph Chan
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Save SControl during probing and restore it on detach. This prevents
    adjustments made by libata drivers to seep into the next driver which
    gets attached (be it a libata one or not).

    It's not clear whether SControl also needs to be restored on suspend.
    The next system to have control (ACPI or kexec'd kernel) would
    probably like to see the original SControl value but there's no
    guarantee that a link is gonna keep working after SControl is adjusted
    without a reset and adding a reset and modified recovery cycle soley
    for this is an overkill. For now, do it only for detach.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • SError belongs to link not port. Use ata_link_printk() to print it.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • As an optimization, follow-up SRST used to be skipped if
    classification wasn't requested even when hardreset requested it via
    -EAGAIN. However, some hardresets can't wait for device readiness and
    skipping SRST can cause timeout or other failures during revalidation.
    Always perform follow-up SRST if hardreset returns -EAGAIN. This
    makes reset paths more predictable and thus less error-prone.

    While at it, move hardreset error checking such that it's done right
    after hardreset is finished. This simplifies followup SRST condition
    check a bit and makes the reset path easier to modify.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • ehc->i.action got accidentally overwritten to ATA_EH_HARD/SOFTRESET in
    ata_eh_reset(). The original intention was to clear reset action
    which wasn't selected. This can cause unexpected behavior when other
    EH actions are scheduled together with reset. Fix it.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • The SoC sata port is based on the 7042/6042 devices (Gen IIE). This patch
    will fix various issues when working with PMP and/or NCQ.

    Signed-off-by: Saeed Bishara
    Signed-off-by: Jeff Garzik

    Saeed Bishara
     
  • This patch adds the Intel Ibex Peak (PCH) IDE mode SATA Controller DeviceIDs.

    Signed-off-by: Seth Heasley
    Signed-off-by: Jeff Garzik

    Seth Heasley
     
  • Resend with proper whitespace.

    This patch adds the Intel Ibex Peak (PCH) SATA RAID Controller DeviceIDs.

    Signed-off-by: Seth Heasley
    Signed-off-by: Jeff Garzik

    Seth Heasley
     
  • sata_mv allowed issuing two DMA commands concurrently which the
    hardware allows. Unfortunately, libata core layer isn't ready for
    this yet and spews ugly warning message and malfunctions on this.
    Don't allow concurrent DMA commands for now.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Implement force params nohrst, nosrst and norst. This is to work
    around reset related problems and ease debugging.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Alex Chiang and Matthew Wilcox pointed out that pci_get_dev_by_id() does
    not properly decrement the reference on the from pointer if it is
    present, like the documentation for the function states it will.

    It fixes a pretty bad leak in the hotplug core (we were leaking an
    entire struct pci_dev for each function of each offlined card, the first
    time around; subsequent onlines/offlines were ok).

    Cc: Matthew Wilcox
    Cc: stable
    Tested-by: Alex Chiang
    Acked-by: Alex Chiang
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Jesse Barnes

    Greg KH
     
  • Commit ef0ff95f136f0f2d035667af5d18b824609de320 (shpchp: fix slot name)
    introduces the shpchp_slot_with_bus module parameter, which was intended
    to help work around broken firmware that assigns the same name to multiple
    slots.

    Commit b3bd307c628af2f0a581c42d5d7e4bcdbbf64b6a (shpchp: add message about
    shpchp_slot_with_bus option) tells the user to use the above parameter
    in the event of a name collision.

    This approach is sub-optimal because it requires too much work from
    the user.

    Instead, let's rename the slot on behalf of the user. If firmware
    assigns the name N to multiple slots, then:

    The first registered slot is assigned N
    The second registered slot is assigned N-1
    The third registered slot is assigned N-2
    The Mth registered slot becomes N-M

    In the event we overflow the slot->name parameter, we report an
    error to the user.

    This is a temporary fix until the entire PCI core can be reworked
    such that individual drivers no longer have to manage their own
    slot names.

    Tested-by: Kenji Kaneshige
    Acked-by: Kenji Kaneshige
    Signed-off-by: Alex Chiang
    Signed-off-by: Jesse Barnes

    Alex Chiang
     
  • Commit 3800345f723fd130d50434d4717b99d4a9f383c8 (pciehp: fix slot name)
    introduces the pciehp_slot_with_bus module parameter, which was intended
    to help work around broken firmware that assigns the same name to multiple
    slots.

    Commit 9e4f2e8d4ddb04ad16a3828cd9a369a5a5287009 (pciehp: add message about
    pciehp_slot_with_bus option) tells the user to use the above parameter
    in the event of a name collision.

    This approach is sub-optimal because it requires too much work from
    the user.

    Instead, let's rename the slot on behalf of the user. If firmware
    assigns the name N to multiple slots, then:

    The first registered slot is assigned N
    The second registered slot is assigned N-1
    The third registered slot is assigned N-2
    The Mth registered slot becomes N-M

    In the event we overflow the slot->name parameter, we report an
    error to the user.

    This is a temporary fix until the entire PCI core can be reworked
    such that individual drivers no longer have to manage their own
    slot names.

    Tested-by: Kenji Kaneshige
    Acked-by: Kenji Kaneshige
    Signed-off-by: Alex Chiang
    Signed-off-by: Jesse Barnes

    Alex Chiang
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    pnp: fix "add acpi:* modalias entries"
    UIO: generic irq handling for some uio platform devices
    UIO: uio_pdrv: fix license specification
    UIO: uio_pdrv: fix memory leak
    block: drop references taken by class_find_device()
    block: fix partial read() of /proc/{partitions,diskstats}
    PM: Remove WARN_ON from device_pm_add
    driver core: add init_name to struct device
    PM: don't skip device PM init when CONFIG_PM_SLEEP isn't set and CONFIG_PM is set
    driver model: anti-oopsing medicine
    dev_printk(): constify the `dev' argument
    drivers/base/driver.c: remove unused to_dev() macro
    Documentation: HOWTO-ja_JP-sync patch
    Japanese translation of Documentation/SubmitChecklist
    kobject: Replace ALL occurrences of '/' with '!' instead of only the first one.

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
    USB: sisusbvga: add USB ID for 0711:0918 Magic Control Technology Corp.
    USB: automatically enable RHSC interrupts
    USB: Don't rebind before "complete" callback
    USB: Add new PM callback methods for USB
    USB: Defer Set-Interface for suspended devices
    USB: Add udev argument to interface suspend/resume functions
    USB: cdc-acm: don't unlock acm->mutex on error path
    MUSB: Fix index register corruption seen with g_ether and Windows host
    usb: musb: get rid of MUSB_LOGLEVEL and use parameter
    usb: musb: get rid of procfs entry
    USB: Fix pxa27x_udc usb speed handling.
    USB: cdc-acm: quirk for Conexant CX93010 USB modem
    USB: fix bug in usb_unlink_anchored_urbs()
    usb-serial: option support HSDPA modem A2502
    USB: ISP1760: fixed trivial math in comment

    Linus Torvalds
     
  • Concurrently adding the same segment may lead to duplicate device_register()
    calls, which will trigger an error in kobject code:
    "... don't try to register things with the same name in the same directory".
    This patch adds a check to avoid this.

    Signed-off-by: Gerald Schaefer
    Signed-off-by: Martin Schwidefsky

    Gerald Schaefer
     
  • Calling a ccw driver's notify function without the ccw device lock
    held opens up a race window between discovery and handling of a change
    in the device operational state. As a result, the device driver may
    encounter unexpected device malfunction, leading to out-of-retry
    situations or similar.

    Remove race by extending the ccw device lock from state change
    discovery to the calling of the notify function.

    Signed-off-by: Peter Oberparleiter
    Signed-off-by: Martin Schwidefsky

    Peter Oberparleiter
     
  • The Perform Subsystem Function/Prepare for Read Subsystem Data
    command requires 12 bytes of parameter data, but the respective data
    structure dasd_psf_prssd_data has a length of 16 bytes.
    Current storage servers ignore the obsolete bytes, but older models
    fail to execute the command and report an incorrect length error.
    This causes the device initilization for these devices to fail.
    To fix this problem we need to correct the dasd_psf_prssd_data
    structure and shorten it to the correct length.

    Reported-by: Ivan Warren
    Reviewed-by: Ivan Warren
    Tested-by: Ivan Warren
    CC: stable
    Signed-off-by: Stefan Weinhuber

    Stefan Weinhuber
     
  • Fix ccw group device initialization: initialize device object before
    using reference counting during cleanup.

    Fixes the following message when group device initialization fails
    (e.g. because too few devices where specified):

    kobject: '' (..): is not initialized, yet kobject_put() is
    being called.

    Signed-off-by: Peter Oberparleiter
    Signed-off-by: Martin Schwidefsky

    Peter Oberparleiter