10 May, 2007

40 commits

  • Add "depends on HAS_IOMEM" to a number of menus to make them
    disappear for s390 which does not have I/O memory.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Refine some depends statements to limit their visibility to the
    environments that are actually supported.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • arch/s390/mm/fault.c: In function `signal_return':
    arch/s390/mm/fault.c:256: warning: unused variable `compat'

    Signed-off-by: Heiko Carstens

    Heiko Carstens
     
  • Statement has been inadvertently lost with commit
    00c0c6466c66bdf05f2a3dcf59e6895179ea8b76.

    Signed-off-by: Ursula Braun
    Signed-off-by: Martin Schwidefsky

    Ursula Braun
     
  • Monthly sparse warning avoidance patch. Sigh.

    Signed-off-by: Heiko Carstens

    Heiko Carstens
     
  • Add missing export of dasd_generic_read_dev_chars().

    Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky

    Cornelia Huck
     
  • Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky

    Cornelia Huck
     
  • The function shouldn't have existed in the first place (not MSS-aware).
    Introduce a new function ccw_device_get_id() that extracts the
    ccw_dev_id structure of a ccw device and convert all users of
    _ccw_device_get_device_number to ccw_device_get_id.

    Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky

    Cornelia Huck
     
  • This patch fixes compilation on s390 after the removal of
    struct subsystem.

    Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky

    Cornelia Huck
     
  • * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
    IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters
    IB: Put rlimit accounting struct in struct ib_umem
    IB/uverbs: Export ib_umem_get()/ib_umem_release() to modules

    Linus Torvalds
     
  • * 'usb-move' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
    Move USB network drivers to drivers/net/usb.

    Linus Torvalds
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    Doc Fix: remove mention of combined mode-related kernel parameters
    libata: fix kernel-doc parameters
    Fix pata_qdi.c probe code
    pata_scc: fix compilation
    sata_via: add missing PM hooks
    sata_nv: fix ADMA freeze/thaw/irq_clear issues
    pata_pcmcia.c: add card ident for jvc cdrom
    sata_promise: SATAII-150/300 TX4 port numbering fix
    sata_promise: fix another error decode regression
    libata-acpi: fix _GTF command protocol for ATAPI devices

    Linus Torvalds
     
  • This reverts commit 5b479c91da90eef605f851508744bfe8269591a0.

    Quoth Neil Brown:

    "It causes an oops when auto-detecting raid arrays, and it doesn't
    seem easy to fix.

    The array may not be 'open' when do_md_run is called, so
    bdev->bd_disk might be NULL, so bd_set_size can oops.

    This whole approach of opening an md device before it has been
    assembled just seems to get more and more painful. I think I'm going
    to have to come up with something clever to provide both backward
    comparability with usage expectation, and sane integration into the
    rest of the kernel."

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • It is preferable to group drivers by usage (net, scsi, ATA, ...) than
    by bus. When reviewing drivers, the [PCI|USB|PCMCIA|...] maintainer
    is probably less qualified on networking issues than a networking
    maintainer. Also, from a practical standpoint, chips often
    appear on multiple buses, which is why we do not put drivers into
    drivers/pci/net.

    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • Looks like you removed the combined_mode quirk (yay!) but didn't update
    kernel-parameters.txt... might confuse people. Here's a patch to remove
    mention of it from the documentation.

    Signed-off-by: Jesse Barnes
    Signed-off-by: Jeff Garzik

    Jesse Barnes
     
  • Warning(linux-2.6.21-git4//drivers/ata/libata-core.c:904): No description found for parameter 'new_sectors'
    Warning(linux-2.6.21-git4//drivers/ata/libata-core.c:941): No description found for parameter 'new_sectors'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Jeff Garzik

    Randy Dunlap
     
  • There is a small typo in the probe code of pata_qdi.c, here is a patch.

    Signed-off-by: Jeff Garzik

    Samuel Thibault
     
  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: Jeff Garzik

    Alexey Dobriyan
     
  • For some reason, sata_via is missing PM hooks. Add them. Spotted by
    Jeroen Janssen .

    Signed-off-by: Tejun Heo
    Cc: Jeroen Janssen
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • This patch fixes some problems with ADMA-capable controllers with
    regard to freeze, thaw and irq_clear libata callbacks. Freeze and
    thaw didn't switch the ADMA-specific interrupts on or off, and more
    critically the irq_clear function didn't respect the restriction that
    the notifier clear registers for both ports have to be written at
    the same time even when only one port is being cleared. This could
    result in timeouts on one port when error handling (i.e. as a result
    of hotplug) occurred on the other port.

    As well, this fixes some issues in the interrupt handler: we shouldn't
    check any ADMA status if the port has ADMA switched off because of
    an ATAPI device, and it also checks to see if any ADMA interrupt has
    been raised even when we are in port-register mode.

    Signed-off-by: Robert Hancock
    Signed-off-by: Jeff Garzik

    Robert Hancock
     
  • update pata_pcmcia to add card ident for JVC MP-CDX1 cdrom drive
    card info:
    PRODID_1="KME"
    PRODID_2="KXLC005"
    PRODID_3="00"
    MANFID=0032,2904

    Signed-off-by: Richard Kennedy
    Signed-off-by: Jeff Garzik

    Richard Kennedy
     
  • There is a known problem with sata_promise on SATAII-150/300 TX4
    controller cards: it enumerates drives in an order that differs
    from the port numbers printed on the controller cards. However,
    Promise's BIOS and Linux driver both get the order right.

    I investigated Promise's Linux driver (v1.01.0.23), and found
    that it explicitly changes the mapping from logical port number
    to ATA engine MMIO address on the SATAII TX4 cards. It does this
    on all SATAII TX4 cards, without inspecting revision etc. The
    SATAII TX2plus cards continue to use the same mapping that was
    used for the first-generation chips.

    This patch updates sata_promise to use the new port number to
    ATA engine mapping on SATAII TX4 cards, which fixes the drive
    enumeration order problem on those cards. Tested on several
    1st and 2nd generation TX2plus and TX4 chips.

    Signed-off-by: Mikael Pettersson
    Signed-off-by: Jeff Garzik

    Mikael Pettersson
     
  • The sata_promise error decode update changed pdc_host_intr()
    to return and not complete the qc after detecting an error.
    Unfortunately not completing the qc:s causes them to always
    time out on error, which is wrong and has nasty side-effects.

    This patch updates pdc_error_intr() to call ata_port_abort(),
    similar to ahci and sata_sil24. Doing this is important as it
    makes EH see the original error and not a bogus timeout.

    Signed-off-by: Mikael Pettersson
    Signed-off-by: Jeff Garzik

    Mikael Pettersson
     
  • _GTF command is never ATA_PROT_ATAPI_NODATA whether the device is
    ATAPI or not. It's always ATA_PROT_NODATA.

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

    Tejun Heo
     
  • Copied from b44 driver, but it works:

    netconsole: device eth0 not up yet, forcing it
    atl1: eth0 link is up 100 Mbps full duplex
    netconsole: network logging started

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Jeff Garzik

    Alexey Dobriyan
     
  • Ejecting a PCMCIA IBM Token Ring card that has not had its dev->open()
    called will reliably trigger an uninitialized spinlock oops when
    spinlock debugging is enabled. The system then hangs, occasionally
    softlockup oopsing. Apparently ibmtr.c:tok_interrupt() doesn't expect
    to be called before tok_open(), but tok_interrupt() gets called anyway
    when the card is ejected. So, set an already-existing flag which
    causes tok_interrupt() to bail out early upon card ejection. Tested by
    inserting and removing the PCMCIA card several times.

    Signed-off-by: Paul Walmsley
    Signed-off-by: Jeff Garzik

    Paul Walmsley
     
  • By default, the skge driver now enables wake on magic and wake on PHY.
    This is a bad default (bug), wake on PHY means machine will never shutdown
    if connected to a switch.

    Signed-off-by: Stephen Hemminger a
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • …e/wireless-2.6 into upstream

    Jeff Garzik
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:
    ide: fix PIO setup on resume for ATAPI devices
    ide: legacy PCI bus order probing fixes
    ide: add ide_proc_register_port()
    ide: add "initializing" argument to ide_register_hw()
    ide: cable detection fixes (take 2)
    ide: move IDE settings handling to ide-proc.c
    ide: split off ioctl handling from IDE settings (v2)
    ide: make /proc/ide/ optional
    ide: add ide_tune_dma() helper
    ide: rework the code for selecting the best DMA transfer mode (v3)
    ide: fix UDMA/MWDMA/SWDMA masks (v3)

    Linus Torvalds
     
  • * git://git.linux-nfs.org/pub/linux/nfs-2.6:
    NFS: Kill the obsolete NFS_PARANOIA
    NFS: use __set_current_state()
    sunrpc: fix crash in rpc_malloc()
    NFS: Clean up NFSv4 XDR error message
    NFS: NFS client underestimates how large an NFSv4 SETATTR reply can be
    SUNRPC: Fix pointer arithmetic bug recently introduced in rpc_malloc/free
    NFS: Remove redundant check in nfs_check_verifier()
    NFS: Fix a jiffie wraparound issue

    Linus Torvalds
     
  • PIO should be restored also for ATAPI devices during resume, fix it.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • IDE PCI host drivers should register themselves with IDE core only when
    IDE driver is built-in, otherwise (IDE driver is modular and thus IDE PCI
    host drivers are also modular) the code has no effect and just complicates
    the probing.

    Fix it by adding new config option CONFIG_IDEPCI_PCIBUS (defined only when
    needed and invisible to the user) and covering by #ifdef/#endif the code
    in question. It turned out that "ide=reverse" was silently accepted but did
    nothing in case when IDE driver was modular, this is fixed now.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * create_proc_ide_interfaces() tries to add /proc entries for every probed
    and initialized IDE port, replace it by ide_proc_register_port() which does
    it only for the given port (also rename destroy_proc_ide_interface() to
    ide_proc_unregister_port() for consistency)

    * convert {create,destroy}_proc_ide_interface[s]() users to use new functions

    * pmac driver depended on proc_ide_create() to add /proc port entries, fix it

    * au1xxx-ide, swarm and cs5520 drivers depended indirectly on ide-generic
    driver (CONFIG_IDE_GENERIC=y) to add port /proc entries, fix them

    * there is now no need to add /proc entries for IDE ports in proc_ide_create()
    so don't do it

    * proc_ide_create() needs now to be called before drivers are probed - fix it,
    while at it make proc_ide_create() create /proc "ide" directory

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Add "initializing" argument to ide_register_hw() and use it instead of ide.c
    wide variable of the same name. Update all users of ide_register_hw()
    accordingly.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Tejun's recent eighty_ninty_three() fix has inspired me to do more thorough
    review of the cable detection code...

    * print user-friendly warning about limiting the maximum transfer speed
    to UDMA33 (and the reason behind it) when 80-wire cable is not detected,
    also while at it cleanup eighty_ninty_three() a bit

    * use eighty_ninty_three() in ide_ata66_check(), this actually fixes 3 bugs:
    - bit 14 (word 93 validity check) == 1 && bit 13 (80-wire cable test) == 1
    were used as 80-wire cable present test for CONFIG_IDEDMA_IVB=n case
    (please see FIXME comment in eighty_ninty_three() for more details)
    - CONFIG_IDEDMA_IVB=y/n cases were interchanged
    - check for SATA devices was missing

    * remove private cable warnings from pdc_202xx{old,new} drivers now that core
    code provides this functionality (plus, in pdc202xx_new case the test could
    give false warnings for ATAPI devices because pdc202xx_new driver doesn't
    even support ATAPI DMA)

    Cc: Tejun Heo
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * move
    __ide_add_setting()
    ide_add_setting()
    __ide_remove_setting()
    auto_remove_settings()
    ide_find_setting_by_name()
    ide_read_setting()
    ide_write_setting()
    set_xfer_rate()
    ide_add_generic_settings()
    ide_register_subdriver()
    ide_unregister_subdriver()

    from ide.c to ide-proc.c

    * set_{io_32bit,pio_mode,using_dma}() cannot be marked static now, fix it

    * rename ide_[un]register_subdriver() to ide_proc_[un]register_driver(),
    update device drivers to use new names

    * add CONFIG_IDE_PROC_FS=n versions of ide_proc_[un]register_driver()
    and ide_add_generic_settings()

    * make ide_find_setting_by_name(), ide_{read,write}_setting()
    and ide_{add,remove}_proc_entries() static

    * cover IDE settings code in device drivers with CONFIG_IDE_PROC_FS #ifdef,
    also while at it cover with CONFIG_IDE_PROC_FS #ifdef ide_driver_t.proc

    * remove bogus comment from ide.h

    * cover with CONFIG_IDE_PROC_FS #ifdef .proc and .settings in ide_drive_t

    Besides saner code this patch results in the IDE core smaller by ~2 kB
    (on x86-32) and IDE disk driver by ~1 kB (ditto) when CONFIG_IDE_PROC_FS=n.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * do write permission and min/max checks in ide_procset_t functions

    * ide-disk.c: drive->id is always available so cleanup "multcount" setting
    accordingly

    * ide-disk.c: "address" setting was incorrectly defined as type TYPE_INTA,
    fix it by using type TYPE_BYTE and updating ide_drive_t->adressing field,
    the bug didn't trigger because this IDE setting uses custom ->set function

    * ide.c: add set_ksettings() for handling HDIO_SET_KEEPSETTINGS ioctl

    * ide.c: add set_unmaskirq() for handling HDIO_SET_UNMASKINTR ioctl

    * handle ioctls directly in generic_ide_ioclt() and idedisk_ioctl()
    instead of using IDE settings to deal with them

    * remove no longer needed ide_find_setting_by_ioctl() and {read,write}_ioctl
    fields from ide_settings_t, also remove now unused TYPE_INTA handling

    v2:
    * add missing EXPORT_SYMBOL_GPL(ide_setting_sem) needed now for ide-disk

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • All important information/features should be already available through
    sysfs and ioctl interfaces.

    Add CONFIG_IDE_PROC_FS (CONFIG_SCSI_PROC_FS rip-off) config option,
    disabling it makes IDE driver ~5 kB smaller (on x86-32).

    While at it add CONFIG_PROC_FS=n versions of proc_ide_{create,destroy}()
    and remove no longer needed #ifdefs.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • After reworking the code responsible for selecting the best DMA
    transfer mode it is now possible to add generic ide_tune_dma() helper.

    Convert some IDE PCI host drivers to use it (the ones left need more work).

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz