Messages in this thread | | | Date | Thu, 3 Apr 2003 11:37:00 -0500 | From | Jeff Garzik <> | Subject | Re: IPMI driver version 19 release |
| |
On Thu, Apr 03, 2003 at 10:24:02AM -0600, Corey Minyard wrote: > @@ -563,8 +576,9 @@ > spin_lock_irqsave(&(kcs_info->kcs_lock), flags); > result = kcs_event_handler(kcs_info, 0); > while (result != KCS_SM_IDLE) { > - udelay(500); > - result = kcs_event_handler(kcs_info, 500); > + udelay(KCS_SHORT_TIMEOUT_USEC); > + result = kcs_event_handler(kcs_info, > + KCS_SHORT_TIMEOUT_USEC); > } > spin_unlock_irqrestore(&(kcs_info->kcs_lock), flags); > return;
Do you really want to udelay this long with interrupts disabled? Certainly comments in kcs_event[_handler] indicate you're aware of the issue, but the code does not belie this fact :)
Not only is the udelay itself "long" relatively speaking, but it's in a loop. Which also calls a function that contains a loop that is potentially infinite is hardware is being wonky.
Jeff
- 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/
| |