# 2.6.30-r1 causes complete system freeze

## ixuz

Hello everyone,

yesterday I changed my running kernel from 29-r5 to 30-r1 with genkernel all. Before that I copied the kernel-config-x86-2.6.29-gentoo-r5 from /etc/kernels/ to /etc/kernels/kernel-config-x86-2.6.30-gentoo-r1

Genkernel all passed through clean.

Everything seemed to be running fine until I inserted a dvd into my dvd drive. If I try to mount this dvd I get everytime this:

```

BUG: unable to handle kernel NULL pointer dereference at 00000024

IP: [<c037d4df>] ide_complete_rq+0xf/0x3b

*pdpt = 000000003682d001*pde = 0000000000000000

Oops: 0000 [#1] SMP

last sysfs file: /sys/block/sda/uevent

Modules linked in: ***

Pid: 0, comm: swapper Tainted: P (2.6.30-gentoo-r1 #1) P35-DS4

EIP: 0060:[<c037d4df>] EFLAGS: 00010006 CPU: 1

_

```

*** obvisiosly every loaded module is here shown, quite a lot, because I am using the live cd's config. additionally: vmci, acpi_cpufreq, nvidia(P)

due to: vmware-modules (server2), NVIDIA 180er driver, svgalib

/dev/hda DVD burner (IDE channel1: master: no problems with both kernels)

/dev/hdb DVD ROM (IDE channel1: slave:causes this error with the 30-r1 but not with 29-r5 and older)

Any Ideas?

Greetings

----------

## cyrillic

If you have both CONFIG_IDE (the legacy IDE drivers) and CONFIG_ATA (the newer libata drivers) enabled in the same kernel, this can cause problems, because the drivers mostly overlap.

----------

## ixuz

```
$ cat /etc/kernels/kernel-config-x86-2.6.30-gentoo-r1|grep CONFIG_ATA

# CONFIG_ATALK is not set

CONFIG_ATA_OVER_ETH=y

CONFIG_ATA=m

# CONFIG_ATA_NONSTANDARD is not set

CONFIG_ATA_ACPI=y

CONFIG_ATA_SFF=y

CONFIG_ATA_PIIX=m

CONFIG_ATA_GENERIC=m

# CONFIG_ATARI_PARTITION is not set
```

```
$ cat /etc/kernels/kernel-config-x86-2.6.30-gentoo-r1|grep CONFIG_IDE

CONFIG_IDE=y

CONFIG_IDE_XFER_MODE=y

CONFIG_IDE_TIMINGS=y

CONFIG_IDE_ATAPI=y

CONFIG_IDE_LEGACY=y

CONFIG_IDE_GD=y

CONFIG_IDE_GD_ATA=y

# CONFIG_IDE_GD_ATAPI is not set

CONFIG_IDE_TASK_IOCTL=y

CONFIG_IDE_PROC_FS=y

CONFIG_IDE_GENERIC=y

CONFIG_IDEPCI_PCIBUS_ORDER=y
```

That's my config since 2.6.29 . Maybe I have to change

```
CONFIG_IDE_LEGACY=y
```

 to 

```
# CONFIG_IDE_LEGACY is not set
```

?

----------

## cyrillic

 *ixuz wrote:*   

> Maybe I have to change
> 
> ```
> CONFIG_IDE_LEGACY=y
> ```
> ...

 

No, you want 

```
# CONFIG_IDE is not set
```

 which will get rid of the entire IDE section.

----------

## ixuz

 *cyrillic wrote:*   

>  *ixuz wrote:*   Maybe I have to change
> 
> ```
> CONFIG_IDE_LEGACY=y
> ```
> ...

 

That doesn't work. With this, I got no /dev/hdX dvd device.

----------

## agent_jdh

 *ixuz wrote:*   

> That doesn't work. With this, I got no /dev/hdX dvd device.

 

When you switch to the newer libata driver, the devices are now /dev/sdX.  So you'll need to modify your /etc/fstab and /boot/grub/grub.conf

----------

## ixuz

 *agent_jdh wrote:*   

>  *ixuz wrote:*   That doesn't work. With this, I got no /dev/hdX dvd device. 
> 
> When you switch to the newer libata driver, the devices are now /dev/sdX.  So you'll need to modify your /etc/fstab and /boot/grub/grub.conf

 

Ok, but how and where exactly can I do this?

I deactivated the whole section:

Device Drivers --> ATA/ATAPI/MFM/RLL support

And acitvated (built-in) everythin I found in that section:

Device Drivers --> Serial ATA (prod) and Parallel ATA (experimental) drivers

SCSI Cdrom is also active.

But there were no /dev/sd[b-c] optical devices to mount manually. (sda is my working raid controller raid10 array)

----------

## agent_jdh

The 1st cd-rom device should be /dev/sr0.  You should also have symlinks /dev/scd0, /dev/cdrom, /dev/cdrw, /dev/dvdrom, and /dev/dvdrw all pointing to sr0.  Assuming you have the correct libata PATA driver for your chipset selected in kernel config.  You'll need to enable "ATA SFF Support" in "Serial ATA (prod) and Parallel ATA (experimental) drivers", and select the driver (I don't use genkernel so it may be already done).

----------

## ixuz

 *agent_jdh wrote:*   

> The 1st cd-rom device should be /dev/sr0.  You should also have symlinks /dev/scd0, /dev/cdrom, /dev/cdrw, /dev/dvdrom, and /dev/dvdrw all pointing to sr0.  Assuming you have the correct libata PATA driver for your chipset selected in kernel config.  You'll need to enable "ATA SFF Support" in "Serial ATA (prod) and Parallel ATA (experimental) drivers", and select the driver (I don't use genkernel so it may be already done).

 

Thank you, that sr0 was the crucial hint. Now everything works fine again, thanks to all!!!

----------

