Do not fail 'devctl clear driver' if another driver is not found
Detaching the bhyve(4) ppt driver from an unsupported PCI device should not raise a "Device not configured" error. We do not expect that a new driver must take over the device in this case. Reviewed by: imp, jhb Differential Revision: https://reviews.freebsd.org/D52050
This commit is contained in:
committed by
John Baldwin
parent
ef1218add1
commit
fba56be09f
@@ -22,7 +22,7 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd April 4, 2019
|
||||
.Dd February 24, 2026
|
||||
.Dt DEVCTL 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -193,6 +193,7 @@ is true,
|
||||
the device will be detached from its current device driver.
|
||||
After the device's name is reset,
|
||||
it is reprobed and attached to a suitable device driver if one is found.
|
||||
If no suitable device driver is found, no error is reported.
|
||||
.Pp
|
||||
The
|
||||
.Fn devctl_rescan
|
||||
|
||||
+13
-1
@@ -5961,7 +5961,19 @@ devctl2_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag,
|
||||
dev->flags &= ~DF_FIXEDCLASS;
|
||||
dev->flags |= DF_WILDCARD;
|
||||
devclass_delete_device(dev->devclass, dev);
|
||||
error = device_probe_and_attach(dev);
|
||||
|
||||
/*
|
||||
* Don't use device_probe_and_attach so that failing
|
||||
* to find a new driver isn't reported as an error.
|
||||
*/
|
||||
error = device_probe(dev);
|
||||
if (error == ENXIO) {
|
||||
error = 0;
|
||||
break;
|
||||
}
|
||||
if (error == 0) {
|
||||
error = device_attach(dev);
|
||||
}
|
||||
break;
|
||||
case DEV_RESCAN:
|
||||
if (!device_is_attached(dev)) {
|
||||
|
||||
Reference in New Issue
Block a user