* [bug report] [PATCH] chelsio: add support for other 10G boards
@ 2020-06-05 11:06 Dan Carpenter
0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2020-06-05 11:06 UTC (permalink / raw)
To: kernel-janitors
[ Hey Stephen, I know this code is a million years old, but I figured
it can't hurt to ask. -dan ]
Hello Stephen Hemminger,
The patch f1d3d38af757: "[PATCH] chelsio: add support for other 10G
boards" from Dec 1, 2006, leads to the following static checker
warning:
drivers/net/ethernet/chelsio/cxgb/subr.c:630 t1_link_start()
warn: was shift intended here '(mac.adapter.params.nports < 2)'
drivers/net/ethernet/chelsio/cxgb/subr.c
623 int t1_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc)
624 {
625 unsigned int fc = lc->requested_fc & (PAUSE_RX | PAUSE_TX);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PAUSE_RX is BIT(0) and PAUSE_TX is BIT(1).
626
627 if (lc->supported & SUPPORTED_Autoneg) {
628 lc->advertising &= ~(ADVERTISED_ASYM_PAUSE | ADVERTISED_PAUSE);
629 if (fc) {
630 if (fc = ((PAUSE_RX | PAUSE_TX) &
631 (mac->adapter->params.nports < 2)))
This is a weird condition because (mac->adapter->params.nports < 2) is
0-1 so we could leave the (PAUSE_RX | PAUSE_TX) out:
if (fc = (mac->adapter->params.nports < 2))
Obviously << 2 isn't intended because that would be equivalent of:
if (rc = 0)
Maybe a cleaner way to write this would be:
if ((fc = PAUSE_RX &&
mac->adapter->params.nports < 2) ||
fc = 0)
Or maybe that's just really weird looking...
632 lc->advertising |= ADVERTISED_PAUSE;
633 else {
634 lc->advertising |= ADVERTISED_ASYM_PAUSE;
635 if (fc = PAUSE_RX)
636 lc->advertising |= ADVERTISED_PAUSE;
637 }
638 }
639 phy->ops->advertise(phy, lc->advertising);
640
641 if (lc->autoneg = AUTONEG_DISABLE) {
642 lc->speed = lc->requested_speed;
643 lc->duplex = lc->requested_duplex;
644 lc->fc = (unsigned char)fc;
645 mac->ops->set_speed_duplex_fc(mac, lc->speed,
646 lc->duplex, fc);
647 /* Also disables autoneg */
648 phy->state = PHY_AUTONEG_RDY;
649 phy->ops->set_speed_duplex(phy, lc->speed, lc->duplex);
650 phy->ops->reset(phy, 0);
651 } else {
652 phy->state = PHY_AUTONEG_EN;
653 phy->ops->autoneg_enable(phy); /* also resets PHY */
654 }
655 } else {
656 phy->state = PHY_AUTONEG_RDY;
657 mac->ops->set_speed_duplex_fc(mac, -1, -1, fc);
658 lc->fc = (unsigned char)fc;
659 phy->ops->reset(phy, 0);
660 }
661 return 0;
662 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-06-05 11:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-05 11:06 [bug report] [PATCH] chelsio: add support for other 10G boards Dan Carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).