git: c0665d5c8240 - main - powerpc/fsl_sata: Properly clamp maxio to pessimized size
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 05 Aug 2022 01:32:46 UTC
The branch main has been updated by jhibbits:
URL: https://cgit.FreeBSD.org/src/commit/?id=c0665d5c82407a41591532ac75bc37a13d3314e6
commit c0665d5c82407a41591532ac75bc37a13d3314e6
Author: Justin Hibbits <jhibbits@FreeBSD.org>
AuthorDate: 2022-08-05 01:28:21 +0000
Commit: Justin Hibbits <jhibbits@FreeBSD.org>
CommitDate: 2022-08-05 01:32:03 +0000
powerpc/fsl_sata: Properly clamp maxio to pessimized size
The CAM 'maxio' is a 'pessimized' size, assuming 4k pages and one page
per segment. Since there are at most 63 segments in a transaction with
this driver, and one would necessarily be the indirect segment marker,
clamp the maxio to the minimum of maxphys (tunable) or (63 - 1) pages
(248k).
MFC after: 3 days
---
sys/powerpc/mpc85xx/fsl_sata.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys/powerpc/mpc85xx/fsl_sata.c b/sys/powerpc/mpc85xx/fsl_sata.c
index ffd340a557d8..22b9a7baf0fb 100644
--- a/sys/powerpc/mpc85xx/fsl_sata.c
+++ b/sys/powerpc/mpc85xx/fsl_sata.c
@@ -1871,7 +1871,7 @@ fsl_sataaction(struct cam_sim *sim, union ccb *ccb)
cpi->transport_version = XPORT_VERSION_UNSPECIFIED;
cpi->protocol = PROTO_ATA;
cpi->protocol_version = PROTO_VERSION_UNSPECIFIED;
- cpi->maxio = maxphys;
+ cpi->maxio = (FSL_SATA_SG_ENTRIES - 1) * PAGE_SIZE;
cpi->ccb_h.status = CAM_REQ_CMP;
break;
}