]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
smartpqi: Change alignment for dma tags
authorJohn Hall <john.hall@microchip.com>
Thu, 19 Oct 2023 03:10:58 +0000 (21:10 -0600)
committerWarner Losh <imp@FreeBSD.org>
Thu, 19 Oct 2023 03:12:27 +0000 (21:12 -0600)
commitf07b267d8cc87e88be3c78aa69504b5ebc6571ee
tree0f62678742b334010c86e54f9acc547be9496dab
parentb064a4c9eed5b1dd2a40fc4fd2cb7e738b681547
smartpqi: Change alignment for dma tags

Problem: Under certain I/O conditions, a program doing large block disk
reads can cause a controller to crash.

Root Cause: The SCSI read request and destination address in the BDMA
descriptor is incorrect, causing the BDMA engine in the controller to
assert.

Fix: Change the alignment for creating bus_dma_tags in the driver from
PAGE_SIZE (4k) to 1, which allows the controller to manage it's own
address range for BDMA transactions.

Risk: Medium

Exposure: This reverts a change first made to support NVMe drives on
Excalibur. At that time a 4k alignment was necessary. This no longer
seems to be the case.

PR: 259541
Reported by: Ka Ho Ng <khng@freebsd.org>
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D41619
sys/dev/smartpqi/smartpqi_main.c