1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-11-28 08:02:54 +00:00
freebsd/sys/dev/smartpqi
John Hall f07b267d8c 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
2023-10-18 21:12:27 -06:00
..
smartpqi_cam.c
smartpqi_cmd.c
smartpqi_defines.h
smartpqi_discovery.c smartpqi: Drop spinlock before freeing memory 2023-10-18 21:06:40 -06:00
smartpqi_event.c
smartpqi_features.c
smartpqi_helper.c smartpqi: Fix build issues highlighted by gcc12 2023-08-25 09:46:44 -06:00
smartpqi_helper.h smartpqi: Fix build issues highlighted by gcc12 2023-08-25 09:46:44 -06:00
smartpqi_includes.h
smartpqi_init.c
smartpqi_intr.c
smartpqi_ioctl.c
smartpqi_ioctl.h
smartpqi_main.c smartpqi: Change alignment for dma tags 2023-10-18 21:12:27 -06:00
smartpqi_mem.c
smartpqi_misc.c
smartpqi_prototypes.h smartpqi: Fix build issues highlighted by gcc12 2023-08-25 09:46:44 -06:00
smartpqi_queue.c
smartpqi_request.c smartpqi: Fix build issues highlighted by gcc12 2023-08-25 09:46:44 -06:00
smartpqi_response.c
smartpqi_sis.c
smartpqi_structures.h
smartpqi_tag.c