mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-04 12:13:43 +00:00
SCSI fixes on 20240817
Two small fixes to the mpi3mr driver. One to avoid oversize allocations in tracing and the other to fix an uninitialized spinlock in the user to driver feature request code (used to trigger dumps and the like). Signed-off-by: James E.J. Bottomley <James.Bottomley@HansenPartnership.com> -----BEGIN PGP SIGNATURE----- iJwEABMIAEQWIQTnYEDbdso9F2cI+arnQslM7pishQUCZsBQwyYcamFtZXMuYm90 dG9tbGV5QGhhbnNlbnBhcnRuZXJzaGlwLmNvbQAKCRDnQslM7pisheu1AQCI/XZH BpmXjjiQXGXTS7f2M6qzL0u3atQe3mN4+KIIbgEA+7WlNAiPa6rw2wjcXhOfQNs8 BHhU85KzlrzVuQY/b18= =YODS -----END PGP SIGNATURE----- Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "Two small fixes to the mpi3mr driver. One to avoid oversize allocations in tracing and the other to fix an uninitialized spinlock in the user to driver feature request code (used to trigger dumps and the like)" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi: mpi3mr: Avoid MAX_PAGE_ORDER WARNING for buffer allocations scsi: mpi3mr: Add missing spin_lock_init() for mrioc->trigger_lock
This commit is contained in:
commit
df6cbc62cc
@ -100,7 +100,8 @@ void mpi3mr_alloc_diag_bufs(struct mpi3mr_ioc *mrioc)
|
||||
dprint_init(mrioc,
|
||||
"trying to allocate trace diag buffer of size = %dKB\n",
|
||||
trace_size / 1024);
|
||||
if (mpi3mr_alloc_trace_buffer(mrioc, trace_size)) {
|
||||
if (get_order(trace_size) > MAX_PAGE_ORDER ||
|
||||
mpi3mr_alloc_trace_buffer(mrioc, trace_size)) {
|
||||
retry = true;
|
||||
trace_size -= trace_dec_size;
|
||||
dprint_init(mrioc, "trace diag buffer allocation failed\n"
|
||||
@ -118,8 +119,12 @@ void mpi3mr_alloc_diag_bufs(struct mpi3mr_ioc *mrioc)
|
||||
diag_buffer->type = MPI3_DIAG_BUFFER_TYPE_FW;
|
||||
diag_buffer->status = MPI3MR_HDB_BUFSTATUS_NOT_ALLOCATED;
|
||||
if ((mrioc->facts.diag_fw_sz < fw_size) && (fw_size >= fw_min_size)) {
|
||||
diag_buffer->addr = dma_alloc_coherent(&mrioc->pdev->dev,
|
||||
fw_size, &diag_buffer->dma_addr, GFP_KERNEL);
|
||||
if (get_order(fw_size) <= MAX_PAGE_ORDER) {
|
||||
diag_buffer->addr
|
||||
= dma_alloc_coherent(&mrioc->pdev->dev, fw_size,
|
||||
&diag_buffer->dma_addr,
|
||||
GFP_KERNEL);
|
||||
}
|
||||
if (!retry)
|
||||
dprint_init(mrioc,
|
||||
"%s:trying to allocate firmware diag buffer of size = %dKB\n",
|
||||
|
@ -5234,6 +5234,7 @@ mpi3mr_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||
spin_lock_init(&mrioc->watchdog_lock);
|
||||
spin_lock_init(&mrioc->chain_buf_lock);
|
||||
spin_lock_init(&mrioc->sas_node_lock);
|
||||
spin_lock_init(&mrioc->trigger_lock);
|
||||
|
||||
INIT_LIST_HEAD(&mrioc->fwevt_list);
|
||||
INIT_LIST_HEAD(&mrioc->tgtdev_list);
|
||||
|
Loading…
Reference in New Issue
Block a user