Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Mar 2021 01:08:02 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: b22315c7983a - stable/13 - cardbus: Be sure to acquire Giant when calling into newbus
Message-ID:  <202103020108.122182uA013916@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=b22315c7983a03538f3f2a96aa20f0d119555087

commit b22315c7983a03538f3f2a96aa20f0d119555087
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2021-02-27 07:00:52 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2021-03-02 01:07:50 +0000

    cardbus: Be sure to acquire Giant when calling into newbus
    
    Acquire Giant in cardbus_detach_card. This used to be done above us, but no
    more.
    
    Tested by: kargl@
    MFC After: 3 days
    
    (cherry picked from commit c01da939b0998f8de068a23c9016c377e761255e)
---
 sys/dev/cardbus/cardbus.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/sys/dev/cardbus/cardbus.c b/sys/dev/cardbus/cardbus.c
index 391267944ec4..50a21dfc0b82 100644
--- a/sys/dev/cardbus/cardbus.c
+++ b/sys/dev/cardbus/cardbus.c
@@ -256,10 +256,11 @@ cardbus_detach_card(device_t cbdev)
 {
 	int err = 0;
 
+	mtx_lock(&Giant);
 	err = bus_generic_detach(cbdev);
-	if (err)
-		return (err);
-	err = device_delete_children(cbdev);
+	if (err == 0)
+		err = device_delete_children(cbdev);
+	mtx_unlock(&Giant);
 	if (err)
 		return (err);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202103020108.122182uA013916>