Author: emaste
Date: Sun Feb  6 01:13:10 2011
New Revision: 218362
URL: http://svn.freebsd.org/changeset/base/218362

Log:
  MFC r218207:
  
    Revert part of r173264.  Both aac_ioctl_sendfib and aac_ioctl_send_raw_srb
    make use of the aac_ioctl_event callback, if acc_alloc_command fails.
    This can end up in an infinite loop in the while loop in
    aac_release_command.

Modified:
  stable/8/sys/dev/aac/aac.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)

Modified: stable/8/sys/dev/aac/aac.c
==============================================================================
--- stable/8/sys/dev/aac/aac.c  Sun Feb  6 01:00:40 2011        (r218361)
+++ stable/8/sys/dev/aac/aac.c  Sun Feb  6 01:13:10 2011        (r218362)
@@ -1415,11 +1415,7 @@ aac_release_command(struct aac_command *
 
        aac_enqueue_free(cm);
 
-       /*
-        * Dequeue all events so that there's no risk of events getting
-        * stranded.
-        */
-       while ((event = TAILQ_FIRST(&sc->aac_ev_cmfree)) != NULL) {
+       if ((event = TAILQ_FIRST(&sc->aac_ev_cmfree)) != NULL) {
                TAILQ_REMOVE(&sc->aac_ev_cmfree, event, ev_links);
                event->ev_callback(sc, event, event->ev_arg);
        }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to