Date: Tue, 24 May 2011 07:47:01 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-hackers@freebsd.org, philip-freebsd1@soeberg.net Subject: Re: device_detach() on a device used by ixgbe driver ( FreeBSD 7-STABLE through to 9-CURRENT) Message-ID: <201105240747.02381.jhb@freebsd.org> In-Reply-To: <4DDA97EA.20705@soeberg.net> References: <4DDA6B95.3090704@soeberg.net> <201105231032.20084.jhb@freebsd.org> <4DDA97EA.20705@soeberg.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, May 23, 2011 1:22:50 pm Philip Soeberg wrote: > On 23-05-2011 16:32, John Baldwin wrote: > >> I assume this (transcanding from FreeBSD 7.0-STABLE through to FreeBSD > >> 9-CURRENT) is in error? I would expect sys/dev/ixgbe/ixgbe.c's probe() > >> function to return BUS_PROBE_DEFAULT, which is the "Base OS default > >> driver".. > > > > Yes, that is true. > > > >> If this is true, then we should probably also update > >> sys/kern/device_if.m's description of the probe() method as to reflect > >> the BUS_PROBE_* return values in a clearer way than is currently described. > >> Do you want me to provide a patch? (it's really a one liner for ixgbe.c > >> and a couple of alterations to the device_if.m, if need be) > > > > device_if.m was probably just never updated from when BUS_PROBE_* were added. > > Updating it would be a good thing. > I'll submit a patch tomorrow with an updated description and a fix for > the ixgbe then.. > > > >> I would also expect the ixgbe.c driver to do a quick resource_disabled() > >> in it's attach() function, so that we can disable specific adapters > >> through kenv hint.ix.0.disabled=1.. > > > > I think ixgbe has to be fixed to use BUS_PROBE_DEFAULT. Very few drivers > > should use '0' for their probe return value. > > > > but since it does return zero, do you have any idea how I can force it > to detach allowing me in instead? I've been stabbing high and low at it > for hours now, and nothing seem to get me anywhere.. short of hacking > the ixgbe_attach() function address, I can't seem to figure out a way to > kill the systems way of re-attaching the device to the ixgbe just after > I've detached it. > > rather frustrating.. It's like a catch-22 problem.. > > and worse, the ixgbe driver is per default included as a static module, > so loader.conf "ix_load=no" will have no effect (unless I'm mistaken?) > > I'm running out of ideas as to how I can attach myself to that Intel > device instead of the ixgbe when it is linked static and with a return > of zero in it's probe().. And I'm also out of ideas as to how to disable > that damn module altogether, short of recompiling the kernel.. > > any ideas? Short of dynamically patching ixgbe_probe()'s return value at runtime? No, no ideas. :( -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105240747.02381.jhb>