svn commit: r299092 - head/sys/dev/fdc

John Baldwin jhb at FreeBSD.org
Wed May 4 23:00:59 UTC 2016


Author: jhb
Date: Wed May  4 23:00:57 2016
New Revision: 299092
URL: https://svnweb.freebsd.org/changeset/base/299092

Log:
  Fix the acpi attachment to always start the worker thread.
  
  The previous change to split the worker thread start out of fdc_attach()
  did not start the worker thread if the fdc device in the ACPI namespace
  did not have an _FDE method.  This fixes hangs when booting with a
  floppy controller enabled on certain machines with ACPI.
  
  Tested by:	joel

Modified:
  head/sys/dev/fdc/fdc_acpi.c

Modified: head/sys/dev/fdc/fdc_acpi.c
==============================================================================
--- head/sys/dev/fdc/fdc_acpi.c	Wed May  4 22:57:28 2016	(r299091)
+++ head/sys/dev/fdc/fdc_acpi.c	Wed May  4 23:00:57 2016	(r299092)
@@ -135,14 +135,13 @@ fdc_acpi_attach(device_t dev)
 	obj = buf.Pointer;
 	error = fdc_acpi_probe_children(bus, dev, obj->Buffer.Pointer);
 
-	if (error == 0)
-		fdc_start_worker(dev);
-
 out:
 	if (buf.Pointer)
 		free(buf.Pointer, M_TEMP);
 	if (error != 0)
 		fdc_release_resources(sc);
+	else
+		fdc_start_worker(dev);
 
 	return (error);
 }


More information about the svn-src-all mailing list