Skip to content

Commit

Permalink
[SCSI] libsas: fix bug for vacant phy
Browse files Browse the repository at this point in the history
This patch fix bug reported by Chuck. And this new version incorporate comments
from Hannes. Please consider to include it into mainline.

Signed-off-by: Jack Wang <jack_wang@usish.com>
Signed-off-by: Lindar Liu <lindar_liu@usish.com>
Tested-by: Chuck Tuffli <Chuck_Tuffli@pmc-sierra.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
  • Loading branch information
Jack Wang authored and James Bottomley committed Oct 11, 2010
1 parent 526f7c7 commit 2bc72c9
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions drivers/scsi/libsas/sas_expander.c
Original file line number Diff line number Diff line change
Expand Up @@ -175,10 +175,10 @@ static void sas_set_ex_phy(struct domain_device *dev, int phy_id,
switch (resp->result) {
case SMP_RESP_PHY_VACANT:
phy->phy_state = PHY_VACANT;
return;
break;
default:
phy->phy_state = PHY_NOT_PRESENT;
return;
break;
case SMP_RESP_FUNC_ACC:
phy->phy_state = PHY_EMPTY; /* do not know yet */
break;
Expand Down Expand Up @@ -209,7 +209,10 @@ static void sas_set_ex_phy(struct domain_device *dev, int phy_id,
phy->phy->negotiated_linkrate = phy->linkrate;

if (!rediscover)
sas_phy_add(phy->phy);
if (sas_phy_add(phy->phy)) {
sas_phy_free(phy->phy);
return;
}

SAS_DPRINTK("ex %016llx phy%02d:%c attached: %016llx\n",
SAS_ADDR(dev->sas_addr), phy->phy_id,
Expand Down

0 comments on commit 2bc72c9

Please sign in to comment.