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 MOD_INC_USE_COUNT; MOD_DEC_USE_COUNT; - 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. Keith -----Original Message----- From: burgeke@HQ.VerizonWireless.com [mailto:burgeke@HQ.VerizonWireless.com] Sent: Monday, May 10, 2004 9:34 AM To: suse-linux-e@suse.com 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 ftp.suse.com/pub/people/mantel . 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 ftp.kernel.org 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; } - MOD_INC_USE_COUNT; 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->node.dev_name); - MOD_DEC_USE_COUNT; } info->ndev = 0; link->dev = NULL; -- Check the headers for your unsubscription address For additional commands send e-mail to suse-linux-e-help@suse.com Also check the archives at http://lists.suse.com Please read the FAQs: suse-linux-e-faq@suse.com