Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 292987
b: refs/heads/master
c: e139942
h: refs/heads/master
i:
  292985: 9866237
  292983: 7938398
v: v3
  • Loading branch information
Dan Williams authored and James Bottomley committed Feb 19, 2012
1 parent ad1e936 commit d771133
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 312d3e56119a4bc5c36a96818f87f650c069ddc2
refs/heads/master: e139942d77a6e3ac83bc322e826668054a8601d6
2 changes: 1 addition & 1 deletion trunk/drivers/scsi/libsas/sas_ata.c
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ static unsigned int sas_ata_qc_issue(struct ata_queued_cmd *qc)
spin_unlock(ap->lock);

/* If the device fell off, no sense in issuing commands */
if (dev->gone)
if (test_bit(SAS_DEV_GONE, &dev->state))
goto out;

task = sas_alloc_task(GFP_ATOMIC);
Expand Down
6 changes: 3 additions & 3 deletions trunk/drivers/scsi/libsas/sas_expander.c
Original file line number Diff line number Diff line change
Expand Up @@ -1750,7 +1750,7 @@ static void sas_unregister_ex_tree(struct asd_sas_port *port, struct domain_devi
struct domain_device *child, *n;

list_for_each_entry_safe(child, n, &ex->children, siblings) {
child->gone = 1;
set_bit(SAS_DEV_GONE, &child->state);
if (child->dev_type == EDGE_DEV ||
child->dev_type == FANOUT_DEV)
sas_unregister_ex_tree(port, child);
Expand All @@ -1771,7 +1771,7 @@ static void sas_unregister_devs_sas_addr(struct domain_device *parent,
&ex_dev->children, siblings) {
if (SAS_ADDR(child->sas_addr) ==
SAS_ADDR(phy->attached_sas_addr)) {
child->gone = 1;
set_bit(SAS_DEV_GONE, &child->state);
if (child->dev_type == EDGE_DEV ||
child->dev_type == FANOUT_DEV)
sas_unregister_ex_tree(parent->port, child);
Expand All @@ -1780,7 +1780,7 @@ static void sas_unregister_devs_sas_addr(struct domain_device *parent,
break;
}
}
parent->gone = 1;
set_bit(SAS_DEV_GONE, &parent->state);
sas_disable_routing(parent, phy->attached_sas_addr);
}
memset(phy->attached_sas_addr, 0, SAS_ADDR_SIZE);
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/scsi/libsas/sas_port.c
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ void sas_deform_port(struct asd_sas_phy *phy, int gone)

if (port->num_phys == 1) {
if (dev && gone)
dev->gone = 1;
set_bit(SAS_DEV_GONE, &dev->state);
sas_unregister_domain_devices(port);
sas_port_delete(port->port);
port->port = NULL;
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/scsi/libsas/sas_scsi_host.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ int sas_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd)
int res = 0;

/* If the device fell off, no sense in issuing commands */
if (dev->gone) {
if (test_bit(SAS_DEV_GONE, &dev->state)) {
cmd->result = DID_BAD_TARGET << 16;
goto out_done;
}
Expand Down
7 changes: 5 additions & 2 deletions trunk/include/scsi/libsas.h
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,10 @@ struct sata_device {
struct ata_taskfile tf;
};

/* ---------- Domain device ---------- */
enum {
SAS_DEV_GONE,
};

struct domain_device {
enum sas_dev_type dev_type;

Expand Down Expand Up @@ -205,7 +208,7 @@ struct domain_device {
};

void *lldd_dev;
int gone;
unsigned long state;
struct kref kref;
};

Expand Down

0 comments on commit d771133

Please sign in to comment.