svn commit: r325596 - head/sys/dev/cxgbe/common
Navdeep Parhar
np at FreeBSD.org
Thu Nov 9 15:35:52 UTC 2017
Author: np
Date: Thu Nov 9 15:35:51 2017
New Revision: 325596
URL: https://svnweb.freebsd.org/changeset/base/325596
Log:
cxgbe(4): Do not request settings not supported by the port.
MFC after: 1 week
Sponsored by: Chelsio Communications
Modified:
head/sys/dev/cxgbe/common/t4_hw.c
Modified: head/sys/dev/cxgbe/common/t4_hw.c
==============================================================================
--- head/sys/dev/cxgbe/common/t4_hw.c Thu Nov 9 14:31:25 2017 (r325595)
+++ head/sys/dev/cxgbe/common/t4_hw.c Thu Nov 9 15:35:51 2017 (r325596)
@@ -3682,7 +3682,7 @@ int t4_link_l1cfg(struct adapter *adap, unsigned int m
{
struct fw_port_cmd c;
unsigned int mdi = V_FW_PORT_CAP_MDI(FW_PORT_CAP_MDI_AUTO);
- unsigned int aneg, fc, fec, speed;
+ unsigned int aneg, fc, fec, speed, rcap;
fc = 0;
if (lc->requested_fc & PAUSE_RX)
@@ -3727,6 +3727,13 @@ int t4_link_l1cfg(struct adapter *adap, unsigned int m
V_FW_PORT_CAP_SPEED(M_FW_PORT_CAP_SPEED);
}
+ rcap = aneg | speed | fc | fec | mdi;
+ if ((rcap | lc->supported) != lc->supported) {
+ CH_WARN(adap, "rcap 0x%08x, pcap 0x%08x\n", rcap,
+ lc->supported);
+ rcap &= lc->supported;
+ }
+
memset(&c, 0, sizeof(c));
c.op_to_portid = cpu_to_be32(V_FW_CMD_OP(FW_PORT_CMD) |
F_FW_CMD_REQUEST | F_FW_CMD_EXEC |
@@ -3734,7 +3741,7 @@ int t4_link_l1cfg(struct adapter *adap, unsigned int m
c.action_to_len16 =
cpu_to_be32(V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_L1_CFG) |
FW_LEN16(c));
- c.u.l1cfg.rcap = cpu_to_be32(aneg | speed | fc | fec | mdi);
+ c.u.l1cfg.rcap = cpu_to_be32(rcap);
return t4_wr_mbox_ns(adap, mbox, &c, sizeof(c), NULL);
}
More information about the svn-src-all
mailing list