From nobody Wed May 07 21:37:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zt7rf25WMz5vKND; Wed, 07 May 2025 21:37:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zt7rd6YVvz3lqB; Wed, 07 May 2025 21:37:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746653825; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X39YnDCZx2sSVJXjI2OBQys6ki28wB2kmJfPLdf3fWw=; b=Q7y13PYJjviKNxv5LUxuCmCexFmMDbwC4e7nWXfYk635cHURSi7O4QjriMHewL6HR1Ke9X eacXDRgygcRZE7VBaCaz5FN7dBp0Ep0xA27IiDxtp/3Fj41vGEpISsTfOWspBaRMTK53jG KUTtf1VLUOikEae49nDlxFrSEjJzhfELYmfOgIt8KYy5n2UFr3OrFbPsl6Qzqh2WF69WS+ CYn92v2yJKouUh7nNjqZaeqdQD2RAeQaCqmteD7XYrrq5FbFca5eJSehlIIXV1EVvtKSlT 4nKiPs9bGgrcp43GUnt1VLnpl7L1ZKJFTgiHNM3FYcqnkp9rc92sDJJ8xCcfOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746653825; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X39YnDCZx2sSVJXjI2OBQys6ki28wB2kmJfPLdf3fWw=; b=HsAaJN06NugJsknLGIZ46KaQrReNNjTNgIEzeQ/EtCULPX93KsL1YC0dusx6G7wXiwZON1 qclPiaEqCr7SaczQWNn3dBxfPOuN0pN6+GgIKhAmjawA16nWgDf/1lTPAXRAVVFiUBFtxl 6sJ0J7iCgzzFKWEekb+MB9IwPtJoJvKJTO6pfQvG0OphJRb/b3EFsHxkQg9vFil6Tu88G7 k4G9BsY9g/ubbHaX2Fx+MuOjuenseH1HcA0hEQhfSy1JrCOgZ40gUnkijhqwRT/NvrNLcu vFlpEX7Oq0MbHENrRAK7B0HuC5sHfbp+nZCkiMjqzqiRc6a5ZZz8U4zQB5YxPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1746653825; a=rsa-sha256; cv=none; b=hHiNenC+U4Sien9oBzxgEtodYTc9HSp03Jq9uCMZGGJdV4eWdCsu6/tvKX6RXePisitVak /emMIP7RQSeqtHgfzSh8zB3Zff3dgJZgyaxSxEOE9gnaVLE1UyNrSvTVzS/he3i8sUHDKO +Svltx2wOBlzWRmtCEHQNsjdnfln64UkN0CXWdGslIhuejj5C1YOHYu1zbCd6feSQ5h1/u GqnaQ7f8v2RmsIe2Qik1IzyvDt03PgFzQpnXe0Ogi6RtR7/pT4fUlzA3mp2VyNPKk7AUwY ofHytsLDmkX8fTZOoIgsxbPssAa53oV7t1pyNWPsOBPeJA9b80z/dF9w91iRPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zt7rd615Bzmpk; Wed, 07 May 2025 21:37:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 547Lb5cx091952; Wed, 7 May 2025 21:37:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 547Lb5DG091949; Wed, 7 May 2025 21:37:05 GMT (envelope-from git) Date: Wed, 7 May 2025 21:37:05 GMT Message-Id: <202505072137.547Lb5DG091949@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 966c6be6c8be - main - umass: fail synchronize_cache List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 966c6be6c8be74d67303f99b5f2d0329de5b64e7 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=966c6be6c8be74d67303f99b5f2d0329de5b64e7 commit 966c6be6c8be74d67303f99b5f2d0329de5b64e7 Author: Warner Losh AuthorDate: 2025-05-07 16:07:05 +0000 Commit: Warner Losh CommitDate: 2025-05-07 21:36:54 +0000 umass: fail synchronize_cache When we know the umass device doesn't support synchronize cache (either probed or hard quirk), fail the command w/o sending it to the device. The da driver is the only driver that sends this command, and since this filter was written has grown the ability to catch the failure and never send the command again. In an ideal world, we'd let the da driver work this out. However, there's a lot of devices that hang when this command is sent in a way that's impossible to detect other than a black list. There's also a number that require a hard USB endpoint reset to recover, which the autoquirk code takes care of. So umass has to act as a filter. By failing this command, we're able to avoid upper level BIO_FLUSH commands by tagging the underlying disk as not supporting that. Differential Revision: https://reviews.freebsd.org/D49466 Sponsored by: Netflix --- sys/dev/usb/storage/umass.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/dev/usb/storage/umass.c b/sys/dev/usb/storage/umass.c index 145c2ba81b3c..0a62e97a07fe 100644 --- a/sys/dev/usb/storage/umass.c +++ b/sys/dev/usb/storage/umass.c @@ -2290,9 +2290,7 @@ umass_cam_action(struct cam_sim *sim, union ccb *ccb) } } else if (sc->sc_transfer.cmd_data[0] == SYNCHRONIZE_CACHE) { if (sc->sc_quirks & NO_SYNCHRONIZE_CACHE) { - ccb->csio.scsi_status = SCSI_STATUS_OK; - ccb->ccb_h.status = CAM_REQ_CMP; - xpt_done(ccb); + umass_cam_illegal_request(ccb); goto done; } } else if (sc->sc_transfer.cmd_data[0] == START_STOP_UNIT) {