Date: Tue, 09 Feb 2016 14:00:12 -0800 From: John Baldwin <jhb@freebsd.org> To: Sreekanth Reddy <sreekanth.reddy@broadcom.com> Cc: freebsd-current@freebsd.org, ken@freebsd.org, scsi@freebsd.org Subject: Re: Panic on reloading a driver with same DEVICE_PROBE() return value Message-ID: <2227929.z5Tr1XC1Xs@ralph.baldwin.cx> In-Reply-To: <CAK=zhgpSH73-AJKdiipHo9UAkTaGHs8=LPnKmYRgNs7-xAYFJQ@mail.gmail.com> References: <CAK=zhgoGwXSsD-mNF=jGov1FJFnpM7m_fZ0Jwsq4JR5yazB%2Bww@mail.gmail.com> <CAK=zhgpjD2aF-XNiSG6AHojJm1gxvARXTc2enrnoQzLHe=WksA@mail.gmail.com> <CAK=zhgpSH73-AJKdiipHo9UAkTaGHs8=LPnKmYRgNs7-xAYFJQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, February 09, 2016 05:45:38 PM Sreekanth Reddy wrote:
> Hi,
>
> While debugging more, I got one more clue,
>
> -----------------------------------------------------------------------------------------------
> static driver_t mps_pci_driver = {
> "mpr",
> mps_methods,
> sizeof(struct mps_softc)
> };
>
> static devclass_t mps_devclass;
> DRIVER_MODULE(mpr, pci, mps_pci_driver, mps_devclass, 0, 0);
> -------------------------------------------------------------------------------------------------
>
> in the above code snip-set, if I changed "DRIVER_MODULE" line as
> DRIVER_MODULE(mpr3, pci, mps_pci_driver, mps_devclass, 0, 0);
> (i.e. from "mpr" to "mpr3") then I am not observing any panic and I
> can load & unload the mpr driver multiple times.
Oh, that might be required, yes. DRIVER_MODULE uses its arguments to define
a module name (in this case as "pci/mpr") and module names are required to
be unique. I believe you should be getting a printf warning about this on
the console. Something like:
"module_register: cannot register pci/mpr from blah.ko; already loaded from foo.ko"
--
John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2227929.z5Tr1XC1Xs>
