https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204521
--- Comment #156 from [email protected] --- (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. _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "[email protected]"
