The patch titled via82cxxx: handle error condition properly has been added to the -mm tree. Its filename is via82cxxx-handle-error-condition-properly.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: via82cxxx: handle error condition properly From: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Jeff noted that the via driver returned an error to an unsigned int in a a case where errors are not permitted. Move the check down earlier so we can handle it properly. Not as pretty but it works this way and avoids hacking up ugly stuff in the legacy ide core. Signed-off-by: Alan Cox <alan@xxxxxxxxxx> Cc: Jeff Garzik <jeff@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/ide/pci/via82cxxx.c | 21 ++++++++++++++++----- 1 files changed, 16 insertions(+), 5 deletions(-) diff -puN drivers/ide/pci/via82cxxx.c~via82cxxx-handle-error-condition-properly drivers/ide/pci/via82cxxx.c --- a/drivers/ide/pci/via82cxxx.c~via82cxxx-handle-error-condition-properly +++ a/drivers/ide/pci/via82cxxx.c @@ -282,11 +282,11 @@ static unsigned int __devinit init_chips * Find the ISA bridge to see how good the IDE is. */ via_config = via_config_find(&isa); - if (!via_config->id) { - printk(KERN_WARNING "VP_IDE: Unknown VIA SouthBridge, disabling DMA.\n"); - pci_dev_put(isa); - return -ENODEV; - } + + /* We checked this earlier so if it fails here deeep badness + is involved */ + + BUG_ON(!via_config->id); /* * Setup or disable Clk66 if appropriate @@ -494,6 +494,17 @@ static ide_pci_device_t via82cxxx_chipse static int __devinit via_init_one(struct pci_dev *dev, const struct pci_device_id *id) { + struct pci_dev *isa = NULL; + struct via_isa_bridge *via_config; + /* + * Find the ISA bridge and check we know what it is. + */ + via_config = via_config_find(&isa); + pci_dev_put(isa); + if (!via_config->id) { + printk(KERN_WARNING "VP_IDE: Unknown VIA SouthBridge, disabling DMA.\n"); + return -ENODEV; + } return ide_setup_pci_device(dev, &via82cxxx_chipsets[id->driver_data]); } _ Patches currently in -mm which might be from alan@xxxxxxxxxxxxxxxxxxx are origin.patch intel-fb-switch-to-pci_get-api.patch git-libata-all.patch ahci-readability-tweak.patch libata-sff-allow-for-wacky-systems.patch libata-revamp-blacklist-support-to-allow-multiple-kinds.patch pata_marvell-marvell-6101-6145-pata-driver.patch via-pata-controller-xfer-fixes.patch ahci-ati-sb600-sata-support-for-various-modes.patch esb2rom-use-hotplug-safe-interfaces.patch nicstar-fix-a-bogus-casting-warning.patch resend-iphase-64bit-cleanup.patch perle-multimodem-card-pci-ras-detection.patch make-sure-uart-is-powered-up-when-dumping-mctrl-status.patch ioremap-balanced-with-iounmap-drivers-scsi-ncr53c8xxc.patch drivers-scsi-ncr5380c-replacing-yield-with-a.patch switch-fdomain-to-the-pci_get-api.patch alpha-switch-to-pci_get-api.patch edac-new-opteron-athlon64-memory-controller-driver.patch serial-uartlite-driver.patch serial-uartlite-driver-fix.patch honour-mnt_noexec-for-access.patch i2o-more-error-checking.patch ia64-fix-allmodconfig-build.patch ide-complete-switch-to-pci_get.patch pci-mxser-pci-refcounts.patch mxser-make-an-experimental-clone.patch char-mxser_new-correct-include-file.patch char-mxser_new-upgrade-to-191.patch char-mxser_new-rework-to-allow-dynamic-structs.patch char-mxser_new-eliminate-tty-ldisc-deref.patch char-mxser_new-testbit-for-bit-testing.patch char-mxser_new-correct-fail-paths.patch char-mxser_new-dont-check-tty_unregister-retval.patch char-mxser_new-compress-isa-finding.patch char-mxser_new-register-tty-devices-on-the-fly.patch char-mxser_new-compact-structures-round2.patch char-mxser_new-reverse-if-else-paths-patch.patch char-mxser_new-comments-cleanup.patch char-mxser_new-correct-intr-handler-proto.patch char-mxser_new-delete-ttys-and-termios.patch char-mxser_new-pci-probing.patch char-stallion-use-pr_debug-macro.patch char-stallion-remove-unneeded-casts.patch char-stallion-kill-typedefs.patch char-stallion-move-init-deinit.patch char-stallion-uninline-functions.patch char-stallion-mark-functions-as-init.patch char-stallion-remove-many-prototypes.patch ide-hpt3xxn-clocking-fixes.patch ide-fix-hpt37x-timing-tables.patch ide-optimize-hpt37x-timing-tables.patch ide-fix-hpt3xx-hotswap-support.patch ide-fix-the-case-of-multiple-hpt3xx-chips-present.patch ide-hpt3xx-fix-pci-clock-detection.patch ide-hpt3xx-fix-pci-clock-detection-fix-2.patch piix-fix-82371mx-enablebits.patch piix-remove-check-for-broken-mw-dma-mode-0.patch piix-slc90e66-pio-mode-fallback-fix.patch hpt3xx-rework-rate-filtering.patch hpt3xx-rework-rate-filtering-tidy.patch hpt3xx-print-the-real-chip-name-at-startup.patch hpt3xx-switch-to-using-pci_get_slot.patch hpt3xx-cache-channels-mcr-address.patch hpt3x7-merge-speedproc-handlers.patch hpt370-clean-up-dma-timeout-handling.patch hpt3xx-init-code-rewrite.patch ide-more-conversion-to-pci_get-apis.patch igafb-switch-to-pci_get-api.patch x86-resend-remove-last-two-pci_find-offenders-in-the.patch pata_marvell-switch-to-pci_iomap-as-jeff-asked.patch via82cxxx-handle-error-condition-properly.patch irq-updates-make-eata_pio-compile.patch tty-preparatory-structures-for-termios-revamp.patch tty-switch-to-ktermios-and-new-framework.patch tty-switch-to-ktermios.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html