Page MenuHomeFreeBSD

D52050.id172640.diff
No OneTemporary

D52050.id172640.diff

diff --git a/lib/libdevctl/devctl.3 b/lib/libdevctl/devctl.3
--- a/lib/libdevctl/devctl.3
+++ b/lib/libdevctl/devctl.3
@@ -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 @@
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
diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c
--- a/sys/kern/subr_bus.c
+++ b/sys/kern/subr_bus.c
@@ -5961,7 +5961,19 @@
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)) {

File Metadata

Mime Type
text/plain
Expires
Tue, Aug 4, 1:29 AM (5 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35882673
Default Alt Text
D52050.id172640.diff (1 KB)

Event Timeline