Re: [PATCH] Don't touch USB controllers with MMIO disabled in quirks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Tue, 1 Nov 2005, Alan Stern wrote:
> 
> In theory, is it possible for a UHCI controller still to be running, doing 
> DMA and/or generating interrupts, even if PCI_COMMAND_IO isn't set?

Yes, it's possible in theory. I guess we could check whether BUS_MASTER is 
enabled (which _does_ need to be enabled, otherwise it couldn't function), 
and then enable it.

> Or is this scenario not worth worrying about?

It's probably not worth worrying about. After all, this is really just for 
when something else (firmware) has enabled the USB controller for its own 
nefarious purposes (ie it also wanted keyboard input), and left it 
running. If something has left it running by mistake, it won't have 
disabled IO access either.

And if it _has_ disabled IO access, we wouldn't know how to enable it at 
this point. Sure, we could enable the command bit, but this is too early 
for us to know where in the IO address space it would be safe to enable 
it.

But an alternative strategy (which might be very sensible) is to forget 
about the handoff entirely, and just shut down the bus master flag 
unconditionally. Just make sure that the eventual driver will reset the 
controller before it re-enables bus mastering.

That would seem to be the simplest possible "handoff". The only danger is 
that I could imagine that there would be controllers out there that get 
really confused (ie "I'm not going to play nice any more") if we shut them 
up that way.

		Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux