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

Xiangliang Yu
2011-06-16T05:01:11Z

>> > [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
child_phy->linkrate(6Gbps),
>> 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:
>hba(3G)---expander1(6G)---expander2(6G):

Yes, you can test like this.
>Then expander1's linkrate will set to 3G, and expander2's linkrate will set
>to 6G, that is correct.
yes
> But the connection rate will be 3G from hba to
>expander2.
How to configure the connection rate?
Now, MVSAS driver get 6G from sas_ex_get_linkrate function, and set linkrate of OPEN address frame to the value. right?