lkml.org 
[lkml]   [2011]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH] [SCSI] LIBSAS: fix libsas link error issue
Date
> > [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):

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
expander2.



\
 
 \ /
  Last update: 2011-06-16 06:35    [W:0.039 / U:0.284 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site