Package: kernel-image-2.6.7-1-686 Version: 2.6.7-2 Severity: important Tags: patch
In a Dell PowerEdge 750, the SATA harddisk cannot be recognized by the kernel (causing a kernel panic) if the cdrom drive is removed. If the cdrom drive is put back, everything works fine!!! These are the output before the kernel panic: VFS: Mounted root (ext2 filesystem). Red Hat nash version 3.5.21 starting SCSI subsystem initialized ata_piix: combined mode detected ACPI: No IRQ known for interrupt pin A of device 0000:00:1f.2 ata1: PATA max UDMA/33 cdm 0x1F0 ctl 0x3F6 bmdma 0xFEA0 irq 14 ata1: port disabled. ignoring. scsi0: ata_piix Using cfq io scheduler ata2: SATA max UDMA/133 cdm 0x170 ctl 0x376 bmdma 0xFEA8 irq 15 ata2: port disabled. ignoring. scsi1 : ata_piix VFS: Cannot open root device "LABEL=/" or unknown-block(0,0) Please append a correct "root=" boot option Kernel panic: VFS: Unable to mount root fs on unknown-block(0,0) 2.4 and 2.6 have same problem. then i find a patch for 2.4 kernel in dell: http://linux.dell.com/blog/contributions http://linux.dell.com/files/patches/sata/ata_piix.c.patch and i also make a patch for 2.6 kernel: *** ata_piix.c.orig Mon Sep 6 22:25:32 2004 --- ata_piix.c Mon Sep 6 22:25:43 2004 *************** *** 272,279 **** static void piix_pata_phy_reset(struct ata_port *ap) { if (!pci_test_config_bits(ap->host_set->pdev, ! &piix_enable_bits[ap->port_no])) { ata_port_disable(ap); printk(KERN_INFO "ata%u: port disabled. ignoring.\n", ap->id); return; --- 272,290 ---- static void piix_pata_phy_reset(struct ata_port *ap) { + unsigned int controller; + + /* In combined legacy mode, port number is not the same + * as primary/secondary controller! + */ + switch (ap->ioaddr.cmd_addr) { + case 0x1f0: controller = 0; break; + case 0x170: controller = 1; break; + default: controller = ap->port_no; + } + if (!pci_test_config_bits(ap->host_set->pdev, ! &piix_enable_bits[controller])) { ata_port_disable(ap); printk(KERN_INFO "ata%u: port disabled. ignoring.\n", ap->id); return; all works fine. -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.8 Locale: LANG=C, LC_CTYPE=C Versions of packages kernel-image-2.6.7-1-686 depends on: ii coreutils [fileutils] 5.2.1-2 The GNU core utilities ii initrd-tools 0.1.74 tools to create initrd image for p ii module-init-tools 3.1-pre5-6 tools for managing Linux kernel mo -- no debconf information

