mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 05:02:12 +00:00
Merge branch 'fixes' into misc
This commit is contained in:
commit
a7dee8f45f
@ -1191,6 +1191,8 @@ static void dm_unprep_request(struct request *rq)
|
||||
|
||||
if (clone)
|
||||
free_rq_clone(clone);
|
||||
else if (!tio->md->queue->mq_ops)
|
||||
free_rq_tio(tio);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -2232,6 +2232,7 @@ err_irq:
|
||||
dma_release_channel(host->tx_chan);
|
||||
if (host->rx_chan)
|
||||
dma_release_channel(host->rx_chan);
|
||||
pm_runtime_dont_use_autosuspend(host->dev);
|
||||
pm_runtime_put_sync(host->dev);
|
||||
pm_runtime_disable(host->dev);
|
||||
if (host->dbclk)
|
||||
@ -2253,6 +2254,7 @@ static int omap_hsmmc_remove(struct platform_device *pdev)
|
||||
dma_release_channel(host->tx_chan);
|
||||
dma_release_channel(host->rx_chan);
|
||||
|
||||
pm_runtime_dont_use_autosuspend(host->dev);
|
||||
pm_runtime_put_sync(host->dev);
|
||||
pm_runtime_disable(host->dev);
|
||||
device_init_wakeup(&pdev->dev, false);
|
||||
|
@ -4493,6 +4493,7 @@ put_shost:
|
||||
scsi_host_put(phba->shost);
|
||||
free_kset:
|
||||
iscsi_boot_destroy_kset(phba->boot_kset);
|
||||
phba->boot_kset = NULL;
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@ -4002,6 +4002,7 @@ static ssize_t ipr_store_update_fw(struct device *dev,
|
||||
struct ipr_sglist *sglist;
|
||||
char fname[100];
|
||||
char *src;
|
||||
char *endline;
|
||||
int result, dnld_size;
|
||||
|
||||
if (!capable(CAP_SYS_ADMIN))
|
||||
@ -4009,6 +4010,10 @@ static ssize_t ipr_store_update_fw(struct device *dev,
|
||||
|
||||
snprintf(fname, sizeof(fname), "%s", buf);
|
||||
|
||||
endline = strchr(fname, '\n');
|
||||
if (endline)
|
||||
*endline = '\0';
|
||||
|
||||
if (request_firmware(&fw_entry, fname, &ioa_cfg->pdev->dev)) {
|
||||
dev_err(&ioa_cfg->pdev->dev, "Firmware file %s not found\n", fname);
|
||||
return -EIO;
|
||||
|
@ -1344,6 +1344,7 @@ scsi_prep_return(struct request_queue *q, struct request *req, int ret)
|
||||
|
||||
switch (ret) {
|
||||
case BLKPREP_KILL:
|
||||
case BLKPREP_INVALID:
|
||||
req->errors = DID_NO_CONNECT << 16;
|
||||
/* release the command and kill it */
|
||||
if (req->special) {
|
||||
|
@ -648,7 +648,7 @@ static void sd_config_discard(struct scsi_disk *sdkp, unsigned int mode)
|
||||
*/
|
||||
if (sdkp->lbprz) {
|
||||
q->limits.discard_alignment = 0;
|
||||
q->limits.discard_granularity = 1;
|
||||
q->limits.discard_granularity = logical_block_size;
|
||||
} else {
|
||||
q->limits.discard_alignment = sdkp->unmap_alignment *
|
||||
logical_block_size;
|
||||
|
@ -652,7 +652,8 @@ sg_write(struct file *filp, const char __user *buf, size_t count, loff_t * ppos)
|
||||
else
|
||||
hp->dxfer_direction = (mxsize > 0) ? SG_DXFER_FROM_DEV : SG_DXFER_NONE;
|
||||
hp->dxfer_len = mxsize;
|
||||
if (hp->dxfer_direction == SG_DXFER_TO_DEV)
|
||||
if ((hp->dxfer_direction == SG_DXFER_TO_DEV) ||
|
||||
(hp->dxfer_direction == SG_DXFER_TO_FROM_DEV))
|
||||
hp->dxferp = (char __user *)buf + cmd_size;
|
||||
else
|
||||
hp->dxferp = NULL;
|
||||
|
@ -914,8 +914,9 @@ static void storvsc_handle_error(struct vmscsi_request *vm_srb,
|
||||
do_work = true;
|
||||
process_err_fn = storvsc_remove_lun;
|
||||
break;
|
||||
case (SRB_STATUS_ABORTED | SRB_STATUS_AUTOSENSE_VALID):
|
||||
if ((asc == 0x2a) && (ascq == 0x9)) {
|
||||
case SRB_STATUS_ABORTED:
|
||||
if (vm_srb->srb_status & SRB_STATUS_AUTOSENSE_VALID &&
|
||||
(asc == 0x2a) && (ascq == 0x9)) {
|
||||
do_work = true;
|
||||
process_err_fn = storvsc_device_scan;
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user