Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 01 Jun 2020 10:58:26 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 204521] [new driver] [request] Port rtsx from OpenBSD to FreeBSD
Message-ID:  <bug-204521-227-4bVl5ZwB16@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-204521-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-204521-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D204521

--- Comment #156 from hlh@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 =3D 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 =3D 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/UNL=
OCK.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-204521-227-4bVl5ZwB16>