Messages in this thread | | | Date | Wed, 18 Jun 2003 21:05:00 -0400 | From | "John Stoffel" <> | Subject | Re: [PATCH CYCLADES 1/2] fix cli()/sti() for ISA Cyclom-Y boards |
| |
viro> On Wed, Jun 18, 2003 at 05:48:17PM -0400, John Stoffel wrote: >> - save_flags(flags); cli(); >> + spin_lock_irqsave(&isa_card_lock, flags); >> >> if ((e1 = tty_unregister_driver(cy_serial_driver))) >> printk("cyc: failed to unregister Cyclades serial driver(%d)\n", >> e1); >> >> - restore_flags(flags); >> + spin_unlock_irqrestore(&isa_card_lock,flags);
viro> It doesn't fix the problem and only makes the compile trouble go viro> away. Not to mention anything else, you are relying on a lot of viro> code being non-blocking.
viro> Could you explain what is protected by disabling interrupts and viro> taking a spinlock here?
Honestly, I'm not sure. My original patch was against 2.5.69, which didn't have this section of code at all, I think there have been some patches to the code between 2.5.69 and 2.5.72 which have mucked around with stuff.
It looked suspicious to me as well, and I'd be happy to remove this from my patch, since I don't know what locking is needed around this section of code off hand. Let me look at some other drivers and see how they unregister themselves. Maybe theres a tty_drive_spinlock somewhere that should be used instead.
Thanks for your comments, good to see you back on l-k.
John - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |