1. 10 May, 2007 7 commits
  2. 09 May, 2007 33 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband · de560374
      Linus Torvalds authored
      * '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
      de560374
    • Linus Torvalds's avatar
      Merge branch 'usb-move' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 · b5f0adbc
      Linus Torvalds authored
      * 'usb-move' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
        Move USB network drivers to drivers/net/usb.
      b5f0adbc
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev · 0a09d9a4
      Linus Torvalds authored
      * '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
      0a09d9a4
    • Linus Torvalds's avatar
      Revert "md: improve partition detection in md array" · 44ce6294
      Linus Torvalds authored
      This reverts commit 5b479c91
      
      .
      
      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: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      44ce6294
    • Jeff Garzik's avatar
      Move USB network drivers to drivers/net/usb. · 5b2fc499
      Jeff Garzik authored
      
      
      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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      5b2fc499
    • Jesse Barnes's avatar
      Doc Fix: remove mention of combined mode-related kernel parameters · e0863397
      Jesse Barnes authored
      
      
      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: default avatarJesse Barnes <jesse.barnes@intel.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      e0863397
    • Randy Dunlap's avatar
      libata: fix kernel-doc parameters · 6b38d1d1
      Randy Dunlap authored
      
      
      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: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      6b38d1d1
    • Samuel Thibault's avatar
      Fix pata_qdi.c probe code · 6878cce5
      Samuel Thibault authored
      
      
      There is a small typo in the probe code of pata_qdi.c, here is a patch.
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      6878cce5
    • Alexey Dobriyan's avatar
      pata_scc: fix compilation · 0397bad5
      Alexey Dobriyan authored
      
      Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      0397bad5
    • Tejun Heo's avatar
      sata_via: add missing PM hooks · e1e143cf
      Tejun Heo authored
      
      
      For some reason, sata_via is missing PM hooks.  Add them.  Spotted by
      Jeroen Janssen <jeroen.janssen@gmail.com>.
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Cc: Jeroen Janssen <jeroen.janssen@gmail.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      e1e143cf
    • Robert Hancock's avatar
      sata_nv: fix ADMA freeze/thaw/irq_clear issues · 53014e25
      Robert Hancock authored
      
      
      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: default avatarRobert Hancock <hancockr@shaw.ca>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      53014e25
    • Richard Kennedy's avatar
      pata_pcmcia.c: add card ident for jvc cdrom · 7871e74a
      Richard Kennedy authored
      
      
      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: default avatarRichard Kennedy <richard@rsk.demon.co.uk>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      7871e74a
    • Mikael Pettersson's avatar
      sata_promise: SATAII-150/300 TX4 port numbering fix · 5ac2fe57
      Mikael Pettersson authored
      
      
      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: default avatarMikael Pettersson <mikpe@it.uu.se>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      5ac2fe57
    • Mikael Pettersson's avatar
      sata_promise: fix another error decode regression · 8ffcfd9d
      Mikael Pettersson authored
      
      
      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: default avatarMikael Pettersson <mikpe@it.uu.se>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      8ffcfd9d
    • Tejun Heo's avatar
      libata-acpi: fix _GTF command protocol for ATAPI devices · 48be6b18
      Tejun Heo authored
      
      
      _GTF command is never ATA_PROT_ATAPI_NODATA whether the device is
      ATAPI or not.  It's always ATA_PROT_NODATA.
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      48be6b18
    • Alexey Dobriyan's avatar
      atl1: add netconsole support · 497f050c
      Alexey Dobriyan authored
      
      
      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: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      497f050c
    • Paul Walmsley's avatar
      Fix hang on IBM Token Ring PCMCIA card ejection · 5bebf82f
      Paul Walmsley authored
      
      
      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: default avatarPaul Walmsley <paul@booyaka.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      5bebf82f
    • Stephen Hemminger's avatar
      skge: default WOL should be magic only (rev2) · 5b982c5b
      Stephen Hemminger authored
      
      
      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 <shemminger@linux-foundation.org>a
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      5b982c5b
    • Jeff Garzik's avatar
      Merge branch 'upstream' of... · 2c4f365a
      Jeff Garzik authored
      Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream
      2c4f365a
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6 · 3cb7396b
      Linus Torvalds authored
      * 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)
      3cb7396b
    • Linus Torvalds's avatar
      Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 · d0b6e0e3
      Linus Torvalds authored
      * 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
      d0b6e0e3
    • Bartlomiej Zolnierkiewicz's avatar
      ide: fix PIO setup on resume for ATAPI devices · 317a46a2
      Bartlomiej Zolnierkiewicz authored
      
      
      PIO should be restored also for ATAPI devices during resume, fix it.
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      317a46a2
    • Bartlomiej Zolnierkiewicz's avatar
      ide: legacy PCI bus order probing fixes · 6d208b39
      Bartlomiej Zolnierkiewicz authored
      
      
      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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      6d208b39
    • Bartlomiej Zolnierkiewicz's avatar
      ide: add ide_proc_register_port() · 5cbf79cd
      Bartlomiej Zolnierkiewicz authored
      
      
      * 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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      5cbf79cd
    • Bartlomiej Zolnierkiewicz's avatar
      ide: add "initializing" argument to ide_register_hw() · 869c56ee
      Bartlomiej Zolnierkiewicz authored
      
      
      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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      869c56ee
    • Bartlomiej Zolnierkiewicz's avatar
      ide: cable detection fixes (take 2) · 7f8f48af
      Bartlomiej Zolnierkiewicz authored
      
      
      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 <htejun@gmail.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      7f8f48af
    • Bartlomiej Zolnierkiewicz's avatar
      ide: move IDE settings handling to ide-proc.c · 7662d046
      Bartlomiej Zolnierkiewicz authored
      
      
      * 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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      7662d046
    • Bartlomiej Zolnierkiewicz's avatar
      ide: split off ioctl handling from IDE settings (v2) · 1497943e
      Bartlomiej Zolnierkiewicz authored
      
      
      * 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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      1497943e
    • Bartlomiej Zolnierkiewicz's avatar
      ide: make /proc/ide/ optional · ecfd80e4
      Bartlomiej Zolnierkiewicz authored
      
      
      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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      ecfd80e4
    • Bartlomiej Zolnierkiewicz's avatar
      ide: add ide_tune_dma() helper · 29e744d0
      Bartlomiej Zolnierkiewicz authored
      
      
      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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      29e744d0
    • Bartlomiej Zolnierkiewicz's avatar
      ide: rework the code for selecting the best DMA transfer mode (v3) · 2d5eaa6d
      Bartlomiej Zolnierkiewicz authored
      
      
      Depends on the "ide: fix UDMA/MWDMA/SWDMA masks" patch.
      
      * add ide_hwif_t.udma_filter hook for filtering UDMA mask
        (use it in alim15x3, hpt366, siimage and serverworks drivers)
      * add ide_max_dma_mode() for finding best DMA mode for the device
        (loosely based on some older libata-core.c code)
      * convert ide_dma_speed() users to use ide_max_dma_mode()
      * make ide_rate_filter() take "ide_drive_t *drive" as an argument instead
        of "u8 mode" and teach it to how to use UDMA mask to do filtering
      * use ide_rate_filter() in hpt366 driver
      * remove no longer needed ide_dma_speed() and *_ratemask()
      * unexport eighty_ninty_three()
      
      v2:
      * rename ->filter_udma_mask to ->udma_filter
        [ Suggested by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]
      
      v3:
      * updated for scc_pata driver (fixes XFER_UDMA_6 filtering for user-space
        originated transfer mode change requests when 100MHz clock is used)
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      2d5eaa6d
    • Bartlomiej Zolnierkiewicz's avatar
      ide: fix UDMA/MWDMA/SWDMA masks (v3) · 18137207
      Bartlomiej Zolnierkiewicz authored
      
      
      * use 0x00 instead of 0x80 to disable ->{ultra,mwdma,swdma}_mask
      * add udma_mask field to ide_pci_device_t and use it to initialize
        ->ultra_mask in aec62xx, cmd64x, pdc202xx_{new,old} and piix drivers
      * fix UDMA masks to match with chipset specific *_ratemask()
        (alim15x3, hpt366, serverworks and siimage drivers need UDMA mask
         filtering method - done in the next patch)
      
      v2:
      * piix: fix cable detection for 82801AA_1 and 82372FB_1
        [ Noticed by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]
      * cmd64x: use hwif->cds->udma_mask
        [ Suggested by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]
      * aec62xx: fix newly introduced bug - check DMA status not command register
        [ Noticed by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]
      
      v3:
      * piix: use hwif->cds->udma_mask
        [ Suggested by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      18137207
    • Jesper Juhl's avatar