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

Commit 7adfff58 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull SCSI fixes from James Bottomley:
 "This is a set of nine fixes (and one author update).

  The libsas one should fix discovery in eSATA devices, the WRITE_SAME
  one is the largest, but it should fix a lot of problems we've been
  getting with the emulated RAID devices (they've been effectively lying
  about support and then firmware has been choking on the commands).

  The rest are various crash, hang or warn driver fixes"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  [SCSI] bfa: Fix crash when symb name set for offline vport
  [SCSI] enclosure: fix WARN_ON in dual path device removing
  [SCSI] pm80xx: Tasklets synchronization fix.
  [SCSI] pm80xx: Resetting the phy state.
  [SCSI] pm80xx: Fix for direct attached device.
  [SCSI] pm80xx: Module author addition
  [SCSI] hpsa: return 0 from driver probe function on success, not 1
  [SCSI] hpsa: do not discard scsi status on aborted commands
  [SCSI] Disable WRITE SAME for RAID and virtual host adapter drivers
  [SCSI] libsas: fix usage of ata_tf_to_fis
parents 470abdcf 22a08538
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -3625,6 +3625,7 @@ int ata_scsi_add_hosts(struct ata_host *host, struct scsi_host_template *sht)
		shost->max_lun = 1;
		shost->max_lun = 1;
		shost->max_channel = 1;
		shost->max_channel = 1;
		shost->max_cmd_len = 16;
		shost->max_cmd_len = 16;
		shost->no_write_same = 1;


		/* Schedule policy is determined by ->qc_defer()
		/* Schedule policy is determined by ->qc_defer()
		 * callback and it needs to see every deferred qc.
		 * callback and it needs to see every deferred qc.
+1 −0
Original line number Original line Diff line number Diff line
@@ -1623,6 +1623,7 @@ static struct scsi_host_template scsi_driver_template = {
	.cmd_per_lun		= 1,
	.cmd_per_lun		= 1,
	.can_queue		= 1,
	.can_queue		= 1,
	.sdev_attrs		= sbp2_scsi_sysfs_attrs,
	.sdev_attrs		= sbp2_scsi_sysfs_attrs,
	.no_write_same		= 1,
};
};


MODULE_AUTHOR("Kristian Hoegsberg <krh@bitplanet.net>");
MODULE_AUTHOR("Kristian Hoegsberg <krh@bitplanet.net>");
+7 −0
Original line number Original line Diff line number Diff line
@@ -198,6 +198,13 @@ static void enclosure_remove_links(struct enclosure_component *cdev)
{
{
	char name[ENCLOSURE_NAME_SIZE];
	char name[ENCLOSURE_NAME_SIZE];


	/*
	 * In odd circumstances, like multipath devices, something else may
	 * already have removed the links, so check for this condition first.
	 */
	if (!cdev->dev->kobj.sd)
		return;

	enclosure_link_name(cdev, name);
	enclosure_link_name(cdev, name);
	sysfs_remove_link(&cdev->dev->kobj, name);
	sysfs_remove_link(&cdev->dev->kobj, name);
	sysfs_remove_link(&cdev->cdev.kobj, "device");
	sysfs_remove_link(&cdev->cdev.kobj, "device");
+2 −1
Original line number Original line Diff line number Diff line
@@ -2025,7 +2025,8 @@ static struct scsi_host_template driver_template = {
	.cmd_per_lun		= TW_MAX_CMDS_PER_LUN,
	.cmd_per_lun		= TW_MAX_CMDS_PER_LUN,
	.use_clustering		= ENABLE_CLUSTERING,
	.use_clustering		= ENABLE_CLUSTERING,
	.shost_attrs		= twa_host_attrs,
	.shost_attrs		= twa_host_attrs,
	.emulated		= 1
	.emulated		= 1,
	.no_write_same		= 1,
};
};


/* This function will probe and initialize a card */
/* This function will probe and initialize a card */
+2 −1
Original line number Original line Diff line number Diff line
@@ -1600,7 +1600,8 @@ static struct scsi_host_template driver_template = {
	.cmd_per_lun		= TW_MAX_CMDS_PER_LUN,
	.cmd_per_lun		= TW_MAX_CMDS_PER_LUN,
	.use_clustering		= ENABLE_CLUSTERING,
	.use_clustering		= ENABLE_CLUSTERING,
	.shost_attrs		= twl_host_attrs,
	.shost_attrs		= twl_host_attrs,
	.emulated		= 1
	.emulated		= 1,
	.no_write_same		= 1,
};
};


/* This function will probe and initialize a card */
/* This function will probe and initialize a card */
Loading