Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01b3add8 authored by James Bottomley's avatar James Bottomley
Browse files

Merge remote-tracking branch 'mkp-scsi/4.8/scsi-fixes' into fixes

parents 29b4817d e120dcb6
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg)
	struct fib *fibptr;
	struct hw_fib * hw_fib = (struct hw_fib *)0;
	dma_addr_t hw_fib_pa = (dma_addr_t)0LL;
	unsigned size;
	unsigned int size, osize;
	int retval;

	if (dev->in_reset) {
@@ -87,7 +87,8 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg)
	 *	will not overrun the buffer when we copy the memory. Return
	 *	an error if we would.
	 */
	size = le16_to_cpu(kfib->header.Size) + sizeof(struct aac_fibhdr);
	osize = size = le16_to_cpu(kfib->header.Size) +
		sizeof(struct aac_fibhdr);
	if (size < le16_to_cpu(kfib->header.SenderSize))
		size = le16_to_cpu(kfib->header.SenderSize);
	if (size > dev->max_fib_size) {
@@ -118,6 +119,14 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg)
		goto cleanup;
	}

	/* Sanity check the second copy */
	if ((osize != le16_to_cpu(kfib->header.Size) +
		sizeof(struct aac_fibhdr))
		|| (size < le16_to_cpu(kfib->header.SenderSize))) {
		retval = -EINVAL;
		goto cleanup;
	}

	if (kfib->header.Command == cpu_to_le16(TakeABreakPt)) {
		aac_adapter_interrupt(dev);
		/*
+1 −1
Original line number Diff line number Diff line
@@ -2923,7 +2923,7 @@ static int fcoe_ctlr_vlan_recv(struct fcoe_ctlr *fip, struct sk_buff *skb)
	mutex_unlock(&fip->ctlr_mutex);

drop:
	kfree(skb);
	kfree_skb(skb);
	return rc;
}

+6 −5
Original line number Diff line number Diff line
@@ -10410,8 +10410,11 @@ static int ipr_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id)
		__ipr_remove(pdev);
		return rc;
	}
	spin_lock_irqsave(ioa_cfg->host->host_lock, flags);
	ioa_cfg->scan_enabled = 1;
	schedule_work(&ioa_cfg->work_q);
	spin_unlock_irqrestore(ioa_cfg->host->host_lock, flags);

	scsi_scan_host(ioa_cfg->host);
	ioa_cfg->iopoll_weight = ioa_cfg->chip_cfg->iopoll_weight;

	if (ioa_cfg->iopoll_weight && ioa_cfg->sis64 && ioa_cfg->nvectors > 1) {
@@ -10421,10 +10424,8 @@ static int ipr_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id)
		}
	}

	spin_lock_irqsave(ioa_cfg->host->host_lock, flags);
	ioa_cfg->scan_enabled = 1;
	schedule_work(&ioa_cfg->work_q);
	spin_unlock_irqrestore(ioa_cfg->host->host_lock, flags);
	scsi_scan_host(ioa_cfg->host);

	return 0;
}

+3 −3
Original line number Diff line number Diff line
@@ -5037,7 +5037,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
	/* Find first memory bar */
	bar_list = pci_select_bars(instance->pdev, IORESOURCE_MEM);
	instance->bar = find_first_bit(&bar_list, sizeof(unsigned long));
	if (pci_request_selected_regions(instance->pdev, instance->bar,
	if (pci_request_selected_regions(instance->pdev, 1<<instance->bar,
					 "megasas: LSI")) {
		dev_printk(KERN_DEBUG, &instance->pdev->dev, "IO memory region busy!\n");
		return -EBUSY;
@@ -5339,7 +5339,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
	iounmap(instance->reg_set);

      fail_ioremap:
	pci_release_selected_regions(instance->pdev, instance->bar);
	pci_release_selected_regions(instance->pdev, 1<<instance->bar);

	return -EINVAL;
}
@@ -5360,7 +5360,7 @@ static void megasas_release_mfi(struct megasas_instance *instance)

	iounmap(instance->reg_set);

	pci_release_selected_regions(instance->pdev, instance->bar);
	pci_release_selected_regions(instance->pdev, 1<<instance->bar);
}

/**
+1 −1
Original line number Diff line number Diff line
@@ -2603,7 +2603,7 @@ megasas_release_fusion(struct megasas_instance *instance)

	iounmap(instance->reg_set);

	pci_release_selected_regions(instance->pdev, instance->bar);
	pci_release_selected_regions(instance->pdev, 1<<instance->bar);
}

/**
Loading