Am Montag, 19. September 2022, 01:26:24 CEST schrieb Sean Anderson:
This driver seems to have been written under the assumption that messages
can be continued arbitrarily. I'm not when this changed (if ever), but such
ad-hoc continuations are liable to be rudely interrupted. Convert all such
instances to single prints. This loses a bit of timing information (such as
when a line was constructed piecemeal as the function executed), but it's
easy to add a few prints if necessary. This also adds newlines to the ends
of any prints without them.
I have a similar patch around, but yours catches more places.
diff --git a/drivers/net/ethernet/sun/sunhme.c
b/drivers/net/ethernet/sun/sunhme.c index 98c38e213bab..9965c9c872a6 100644
--- a/drivers/net/ethernet/sun/sunhme.c
+++ b/drivers/net/ethernet/sun/sunhme.c
@@ -330,7 +331,6 @@ static int happy_meal_bb_read(struct happy_meal *hp,
int retval = 0;
int i;
- ASD("happy_meal_bb_read: reg=%d ", reg);
/* Enable the MIF BitBang outputs. */
hme_write32(hp, tregs + TCVR_BBOENAB, 1);
You can remove one of the empty lines here.
@@ -1196,15 +1182,15 @@ static void happy_meal_init_rings(struct happy_meal
*hp) struct hmeal_init_block *hb = hp->happy_block;
int i;
- HMD("happy_meal_init_rings: counters to zero, ");
+ HMD("counters to zero\n");
hp->rx_new = hp->rx_old = hp->tx_new = hp->tx_old = 0;
/* Free any skippy bufs left around in the rings. */
- HMD("clean, ");
+ HMD("clean\n");
I don't think this one is actually needed, there isn't much than can happen in
between these 2 prints.
@@ -1282,17 +1268,11 @@ happy_meal_begin_auto_negotiation(struct happy_meal"");
*hp, * XXX so I completely skip checking for it in the BMSR for now. */
-#ifdef AUTO_SWITCH_DEBUG
- ASD("%s: Advertising [ ");
- if (hp->sw_advertise & ADVERTISE_10HALF)
- ASD("10H ");
- if (hp->sw_advertise & ADVERTISE_10FULL)
- ASD("10F ");
- if (hp->sw_advertise & ADVERTISE_100HALF)
- ASD("100H ");
- if (hp->sw_advertise & ADVERTISE_100FULL)
- ASD("100F ");
-#endif
+ ASD("Advertising [ %s%s%s%s]\n",
+ hp->sw_advertise & ADVERTISE_10HALF ? "10H " : "",
+ hp->sw_advertise & ADVERTISE_10FULL ? "10F " : "",
+ hp->sw_advertise & ADVERTISE_100HALF ? "100H " : "",
+ hp->sw_advertise & ADVERTISE_100FULL ? "100F " :
already... */
/* Enable Auto-Negotiation, this is usually on
hp->sw_bmcr |= BMCR_ANENABLE;
Completely independent of this driver, but I wonder if there is no generic
function to print these 10/100/* full/half duplex strings? There are several
drivers doing this as a quick grep shows.