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);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to