On Fri, Jul 27, 2007 at 03:36:49PM -0400, Jeff Garzik wrote: > OK, I think I misunderstood your explanation. Rather than judging based > on English emails, I went back and looked at the old and new code. Phew! I didn't like to think that one of us was going crazy in our dotage ;-) > Looking at the old code, there is a clear 1-to-1-to-1-to-1 > correspondence between adapter, request_irq() call, scsi_host, and > boardp. So what the old code is doing during probe is quite normal. > > I thought you were saying there were multiple request_irq() calls for a > single adapter. > > The only thing that's abnormal is the interrupt handler checking > multiple boards for events, which you rightly removed. > > There is absolutely no need to add IRQF_SHARED to non-PCI devices or > anything like that. Possibly you've misunderstood the code slightly -- for the case of a dual-channel EISA board, the two hosts will have the same interrupt number. So we do need to keep the current code which sets IRQF_SHARED on EISA interrupts. I'm not quite sure why that's not the case for the ABP852 dual-channel VLB card -- possibly each channel has its own interrupt. I don't know if VLB can do that or not. > At this point, looking at your new code, I would only add > "replace spin_lock_irqsave with spin_lock in interrupt handler" > and > "delete no-ops DvcEnterCritical and DvcLeaveCritical" > to the todo list. Thanks, added. -- "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html