Commit 88abd824 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-4.9-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata

Pull libata fixes from Tejun Heo:
 "The recent changes in ahci MSI handling need one more fix.  Hopefully,
  this restores parity with before.

  The other two are minor fixes with both low impact and risk"

* 'for-4.9-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
  ahci: always fall back to single-MSI mode
  libata-scsi: Fixup ata_gen_passthru_sense()
  mvsas: fix error return code in mvs_task_prep()
parents 96e52d3a 6929ef38
...@@ -1436,13 +1436,6 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports, ...@@ -1436,13 +1436,6 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
"ahci: MRSM is on, fallback to single MSI\n"); "ahci: MRSM is on, fallback to single MSI\n");
pci_free_irq_vectors(pdev); pci_free_irq_vectors(pdev);
} }
/*
* -ENOSPC indicated we don't have enough vectors. Don't bother
* trying a single vectors for any other error:
*/
if (nvec < 0 && nvec != -ENOSPC)
return nvec;
} }
/* /*
......
...@@ -1088,7 +1088,7 @@ static void ata_gen_passthru_sense(struct ata_queued_cmd *qc) ...@@ -1088,7 +1088,7 @@ static void ata_gen_passthru_sense(struct ata_queued_cmd *qc)
desc[1] = tf->command; /* status */ desc[1] = tf->command; /* status */
desc[2] = tf->device; desc[2] = tf->device;
desc[3] = tf->nsect; desc[3] = tf->nsect;
desc[0] = 0; desc[7] = 0;
if (tf->flags & ATA_TFLAG_LBA48) { if (tf->flags & ATA_TFLAG_LBA48) {
desc[8] |= 0x80; desc[8] |= 0x80;
if (tf->hob_nsect) if (tf->hob_nsect)
......
...@@ -791,8 +791,10 @@ static int mvs_task_prep(struct sas_task *task, struct mvs_info *mvi, int is_tmf ...@@ -791,8 +791,10 @@ static int mvs_task_prep(struct sas_task *task, struct mvs_info *mvi, int is_tmf
slot->slot_tag = tag; slot->slot_tag = tag;
slot->buf = pci_pool_alloc(mvi->dma_pool, GFP_ATOMIC, &slot->buf_dma); slot->buf = pci_pool_alloc(mvi->dma_pool, GFP_ATOMIC, &slot->buf_dma);
if (!slot->buf) if (!slot->buf) {
rc = -ENOMEM;
goto err_out_tag; goto err_out_tag;
}
memset(slot->buf, 0, MVS_SLOT_BUF_SZ); memset(slot->buf, 0, MVS_SLOT_BUF_SZ);
tei.task = task; tei.task = task;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment