RE: [PATCH] [SCSI] LIBSAS: fix libsas link error issue

From: Jack Wang
Date: Thu Jun 16 2011 - 00:32:11 EST

> > [Jack Wang]
> >It's the same, sas_ex_get_linkrate use DISCOVER response as linkrate.
> But the function have problem, actually, the error statement is:
> child->linkrate = min(parent_phy->linkrate, child->max_linkrate);
> its mean like this:
> child->linkrate = min(child_phy->linkrate,
> max(parent->max_linkrate,child_phy->linkrate));
> and if parent->max_linkrate(3Gbps) is less than
> the statement will be change this:
> child->linkrate = child_phy->linkrate, forget the parent linkrate.
[Jack Wang]
I don't think the statement below is error:
child->linkrate = min(parent_phy->linkrate, child->max_linkrate);

parent_phy->linkrate is came from sas_set_ex_phy which will set the linkrate
to negotiated logical linkrate. For your eg: you topo like this:

Then expander1's linkrate will set to 3G, and expander2's linkrate will set
to 6G, that is correct. But the connection rate will be 3G from hba to

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at