Mailinglist Archive: opensuse (4547 mails)

< Previous Next >
RE: [SLE] Unsafe / ide-cs
  • From: burgeke@xxxxxxxxxxxxxxxxxxxxxx
  • Date: Tue, 11 May 2004 07:20:14 -0400
  • Message-id: <20040511112017.4C89658C255@xxxxxxxxxxxxxx>
If anyone is interested, and has the same issue with the ide-cs module being
marked as unclean preventing unmounting of drives and also removal of the
module, the below resolved the issue for me.

- install the kernel source if you don't already have it
- /usr/src/linux/drivers/ide/legacy/ide-cs.c - remove the following lines
and save
- cd /usr/src/linux
- make mrproper
- make cloneconfig
- make modules
- copy the resulting ide-cs.ko to /lib/modules...

The patch in my origonal post made its way to 2.6.6. However, the above
worked for me with the stock and upgraded SUSE 9.1 kernel.

Many thanks to Pavel Roskin for the info on his patch.


-----Original Message-----
From: burgeke@xxxxxxxxxxxxxxxxxxxxxx [mailto:burgeke@xxxxxxxxxxxxxxxxxxxxxx]

Sent: Monday, May 10, 2004 9:34 AM
To: suse-linux-e@xxxxxxxx
Subject: [SLE] Unsafe / ide-cs

I just upgraded to SUSE 9.1. My laptop is an IBM X31. I have a Kingston 5GB
PCMCIA hardrive and also a Compaq Flash card in the CF slot. Both cards use
the ide-cs module. I noticed that this module is now marked as unsafe in the
2.6 kernels preventing the drive(s) from being unmounted and also the module
unloaded. Looking at the changelog from 2.6.6, it looks like this has been
corrected by removing some macro references in the code.

Could anyone tell my how I can patch the SUSE kernel with these changes or
do I have to upgrade to 2.6.6? I noticed there is a kernel of the day folder
on . I'd rather just patch ide-cs if possible
but am a bit unsure how to-do so. - thanks!

Here is an excerpt from the patch on

MODULE_AUTHOR("See Local File");
diff -Nru a/drivers/ide/legacy/ide-cs.c b/drivers/ide/legacy/ide-cs.c
--- a/drivers/ide/legacy/ide-cs.c Sun May 9 19:33:46 2004
+++ b/drivers/ide/legacy/ide-cs.c Sun May 9 19:33:46 2004
@@ -213,6 +213,7 @@
static int idecs_register(unsigned long io, unsigned long ctl, unsigned
long irq) {
hw_regs_t hw;
+ memset(&hw, 0, sizeof(hw));
ide_init_hwif_ports(&hw, io, ctl, NULL);
hw.irq = irq;
hw.chipset = ide_pci;
@@ -361,7 +362,6 @@
goto failed;

info->ndev = 1;
sprintf(info->node.dev_name, "hd%c", 'a'+(hd*2));
info->node.major = ide_major[hd];
@@ -407,7 +407,6 @@
if (link->io.NumPorts2)
request_region(link->io.BasePort2, link->io.NumPorts2,
info->ndev = 0;
link->dev = NULL;

Check the headers for your unsubscription address For additional commands
send e-mail to suse-linux-e-help@xxxxxxxx Also check the archives at Please read the FAQs: suse-linux-e-faq@xxxxxxxx

< Previous Next >
This Thread
  • No further messages