Sergei Shtylylov <sshtylyov@xxxxxxxxxxxxx> wrote: > > static int ide_iomio_dma(ide_hwif_t *hwif, unsigned long base, unsigned int ports) > { > printk(KERN_INFO " %s: BM-DMA at 0x%04lx-0x%04lx", > - hwif->name, base, base + ports - 1); > + hwif->name, base, base + ports - 1); > + > if (!request_region(base, ports, hwif->name)) { > printk(" -- Error, ports in use.\n"); > return 1; > } > + > hwif->dma_base = base; > - if ((hwif->cds->extra) && (hwif->channel == 0)) { > - request_region(base+16, hwif->cds->extra, hwif->cds->name); > - hwif->dma_extra = hwif->cds->extra; > - } > - > + > + if (hwif->cds->extra) { > + hwif->extra_base = base + (hwif->channel ? 8 : 16); > + > + if (!hwif->mate || !hwif->mate->extra_ports) { > + if (!request_region(hwif->extra_base, > + hwif->cds->extra, hwif->cds->name)) { > + printk(" -- Error, extra ports in use.\n"); > + release_region(base, ports); > + return 1; > + } > + hwif->extra_ports = hwif->cds->extra; > + } > + } The printks in this function are odd. Note how it will print a non-newline-terminated string and then will print a newline-terminated string only if there was an error. Does it all come out right both when errors occur and when they do not? - : send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html