https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204521

--- Comment #156 from h...@restart.be ---
(In reply to Gary Jennejohn from comment #155)

In this case:

       if (device_delete_child(sc->rtsx_dev, sc->rtsx_mmc_dev))
               device_printf(sc->rtsx_dev, "Detaching MMC bus failed\n");
       sc->rtsx_mmc_dev = NULL;
       RTSX_UNLOCK(sc);

The LOCK try to postpone a new occurrence of rtsx_card_task()
to reconnect a card.

In this case:

       RTSX_UNLOCK(sc);
       if (device_delete_child(sc->rtsx_dev, sc->rtsx_mmc_dev))
               device_printf(sc->rtsx_dev, "Detaching MMC bus failed\n");
       sc->rtsx_mmc_dev = NULL;


A new occurrence of rtsx_card_task() may reconnect a card and then
rtsx_mmc_dev is replace by NULL. And so even if it is bracketed by LOCL/UNLOCK.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to