[Bug 246279] ciss device driver not allowing more than 48 drives to be detected by the CAM layer

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 14 Oct 2024 05:41:56 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246279

--- Comment #33 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:

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

commit b339ab1491055d89415f85b6d1a03423193178f9
Author:     Peter Eriksson <pen@lysator.liu.se>
AuthorDate: 2024-10-14 04:01:33 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2024-10-14 05:37:46 +0000

    ciss: Don't panic on null CR ciss_dequeue_notify

    Apparently, sometimes on hot plug/unplug, a null cr comes back from
    ciss_dequeue_notify. This is clearly a bug, and by ignoring it we're
    papering over that bug. We only ever wake the thread after enqueing a
    notification or setting a bit about killing the thread, so once we check
    the bit isn't the cause, cr can't be NULL unless something else has
    dequeued it.

    Ideally, this would be fixed, rather than papered over, but this makes a
    very old card somewhat more useable for external enclosures. I suspect
    it's a race when we set CISS_THREAD_SHUT and another flag (the latter
    w/o ciss_mtx held), but I don't see it and w/o hardware to reproduce
    it would be hard to know for sure.

    PR: 246279
    Reviewed by: imp
    Tested by: Marek Zarychta
    Differential Revision: https://reviews.freebsd.org/D25155

 sys/dev/ciss/ciss.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

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