RE: How does Linux handle PCI-E Surprise unplug?

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

 



Hello Greg / All,

Replying on this thread as I have a small query left regarding this...

> -----Original Message-----
> From: Greg KH [mailto:greg@xxxxxxxxx]
> Sent: Thursday, February 18, 2010 8:23 PM
> To: Rajat Jain
> Cc: linux-hotplug@xxxxxxxxxxxxxxx; linux-pci@xxxxxxxxxxxxxxx
> Subject: Re: How does Linux handle PCI-E Surprise unplug?
> 
> On Thu, Feb 18, 2010 at 11:35:33AM +0530, Rajat Jain wrote:
> > Hi,
> >
> > I'm keen to understand how the Linux kernel handles surprise removal
of
> > a device, from a PCI-e slot that supports "Hot-plug Surprise"
removal
> > (in slot capabilities).
> >
> > Consider that the device in the slot is working normally, with its
> > driver attached to the device, and is doing all sorts of read /
write
> > operations on the device registers that have been mapped into the
PCI
> > memory space. Now when that device is suddenly plugged out (and thus
its
> > registers suddenly disappear from the PCI memory space), the device
> > driver is still unaware as it is doing the register reads / writes
on
> > the device. At this point, IMHO any attempt to access the device
> > registers will result in an exception (BUS error?) as the device is
> > gone. Correct?
> 
> The driver will suddenly start reading all 0xff and will then need to
> abort whatever it was doing.  Usually all drivers handle this just
fine
> today, as this is what they needed to do when they were pccard
devices.
> Nothing new here at all.
> 

Does that mean accessing PCI memory mapped registers for a non-existent
device has effects that are localized ONLY to the driver of that device?
In other words, kernel does not notice or does not even become AWARE
that a driver is trying to access non-existent memory mapped registers? 

So trying to access a HW that does not exist is totally legal in that
sense? Is HW NOT supposed to generate an error in this case - as far as
I had read, any access to non existent physical addresses should result
in a bus error ... no?

Thanks,

Rajat Jain
--
To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux