Thank you Keith!

I simply deleted "__exit" from below in my
/usr/src/linux/drivers/char/rtc.c file

static void __exit rtc_exit (void)
{
        /* interrupts and maybe timer disabled at this point by
rtc_release */
        /* FIXME: Maybe??? */

        if (rtc_status & RTC_TIMER_ON) {
                spin_lock_irq (&rtc_lock);      <============
                rtc_status &= ~RTC_TIMER_ON;
                del_timer(&rtc_irq_timer);
                spin_unlock_irq (&rtc_lock);    <============

                printk(KERN_WARNING "rtc_exit(), and timer still
running.\n");
        }

I was afraid to compile as a module because Configuration Help in
xconfig for RTC  (real time clock) says:

If you run Linux on a multiprocessor machine and said Y to
"Symmetric Multi Processing" above, you should say Y here to read
and set the RTC in an SMP compatible fashion.

This says to me that in order to use RTC for SMP you must *not* build it
as a module.  So I opted to edit the file.

It seems to me that the only reason 2.4.0 had compiled before was
because I had RTC checked "no" before, I noticed this in my
configuration file that I load with xconfig and changed it to yes, hence
the problem showing up.

I wonder why I could compile an SMP kernel without RTC!?!  Maybe there
is a default overide that builds RTC in when SMP is checked yes.  Or
maybe it didn't really build an SMP kernel without RTC, I don't know.

Anyway, thanks again for your help.

Best Regards,

Armand

-- 
Linux 2.4.0-test9 #1 SMP Mon Sep 18 23:34:36 MST 2000 i686
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to