Message ID | 20180604115842.7c4vzge3igjbnblt@kili.mountain (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | fsl/qe: ucc: copy and paste bug in ucc_get_tdm_sync_shift() | expand |
Where did the original go ? https://patchwork.ozlabs.org/patch/868158/ On Mon, Jun 4, 2018 at 2:02 PM Dan Carpenter <dan.carpenter@oracle.com> wrote: > > There is a copy and paste bug so we accidentally use the RX_ shift when > we're in TX_ mode. > > Fixes: bb8b2062aff3 ("fsl/qe: setup clock source for TDM mode") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > --- > Static analysis work. Not tested. This affects the success path, so > we should probably test it. > > diff --git a/drivers/soc/fsl/qe/ucc.c b/drivers/soc/fsl/qe/ucc.c > index c646d8713861..681f7d4b7724 100644 > --- a/drivers/soc/fsl/qe/ucc.c > +++ b/drivers/soc/fsl/qe/ucc.c > @@ -626,7 +626,7 @@ static u32 ucc_get_tdm_sync_shift(enum comm_dir mode, u32 tdm_num) > { > u32 shift; > > - shift = (mode == COMM_DIR_RX) ? RX_SYNC_SHIFT_BASE : RX_SYNC_SHIFT_BASE; > + shift = (mode == COMM_DIR_RX) ? RX_SYNC_SHIFT_BASE : TX_SYNC_SHIFT_BASE; > shift -= tdm_num * 2; > > return shift;
On Mon, 4 Jun 2018, Dan Carpenter wrote: > There is a copy and paste bug so we accidentally use the RX_ shift when > we're in TX_ mode. > > Fixes: bb8b2062aff3 ("fsl/qe: setup clock source for TDM mode") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > --- > Static analysis work. Not tested. This affects the success path, so > we should probably test it. Maybe this is another one? I don't have time to look into it at the moment... drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c /* For strict priority entries defines the number of consecutive * slots for the highest priority. */ REG_WR(bp, (port) ? NIG_REG_P1_TX_ARB_NUM_STRICT_ARB_SLOTS : NIG_REG_P1_TX_ARB_NUM_STRICT_ARB_SLOTS, 0x100); /* Mapping between the CREDIT_WEIGHT registers and actual client * numbers */ I find some others that choose between constants, such as ... ? 0 : 0. julia > > diff --git a/drivers/soc/fsl/qe/ucc.c b/drivers/soc/fsl/qe/ucc.c > index c646d8713861..681f7d4b7724 100644 > --- a/drivers/soc/fsl/qe/ucc.c > +++ b/drivers/soc/fsl/qe/ucc.c > @@ -626,7 +626,7 @@ static u32 ucc_get_tdm_sync_shift(enum comm_dir mode, u32 tdm_num) > { > u32 shift; > > - shift = (mode == COMM_DIR_RX) ? RX_SYNC_SHIFT_BASE : RX_SYNC_SHIFT_BASE; > + shift = (mode == COMM_DIR_RX) ? RX_SYNC_SHIFT_BASE : TX_SYNC_SHIFT_BASE; > shift -= tdm_num * 2; > > return shift; > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
On Mon, Jun 04, 2018 at 10:25:14PM +0900, Julia Lawall wrote: > > > On Mon, 4 Jun 2018, Dan Carpenter wrote: > > > There is a copy and paste bug so we accidentally use the RX_ shift when > > we're in TX_ mode. > > > > Fixes: bb8b2062aff3 ("fsl/qe: setup clock source for TDM mode") > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > > --- > > Static analysis work. Not tested. This affects the success path, so > > we should probably test it. > > Maybe this is another one? I don't have time to look into it at the > moment... > > drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c > > /* For strict priority entries defines the number of consecutive > * slots for the highest priority. > */ > REG_WR(bp, (port) ? NIG_REG_P1_TX_ARB_NUM_STRICT_ARB_SLOTS : > NIG_REG_P1_TX_ARB_NUM_STRICT_ARB_SLOTS, 0x100); > /* Mapping between the CREDIT_WEIGHT registers and actual client > * numbers > */ > > I find some others that choose between constants, such as ... ? 0 : 0. I feel like it should warn about all of those because people shouldn't be submitting unfinished written code to the kernel. Coccinelle is a lot better for this than Smatch is because it's pre-processor stuff. regards, dan carpenter
On Mon, 4 Jun 2018, Dan Carpenter wrote: > On Mon, Jun 04, 2018 at 10:25:14PM +0900, Julia Lawall wrote: > > > > > > On Mon, 4 Jun 2018, Dan Carpenter wrote: > > > > > There is a copy and paste bug so we accidentally use the RX_ shift when > > > we're in TX_ mode. > > > > > > Fixes: bb8b2062aff3 ("fsl/qe: setup clock source for TDM mode") > > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > > > --- > > > Static analysis work. Not tested. This affects the success path, so > > > we should probably test it. > > > > Maybe this is another one? I don't have time to look into it at the > > moment... > > > > drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c > > > > /* For strict priority entries defines the number of consecutive > > * slots for the highest priority. > > */ > > REG_WR(bp, (port) ? NIG_REG_P1_TX_ARB_NUM_STRICT_ARB_SLOTS : > > NIG_REG_P1_TX_ARB_NUM_STRICT_ARB_SLOTS, 0x100); > > /* Mapping between the CREDIT_WEIGHT registers and actual client > > * numbers > > */ > > > > I find some others that choose between constants, such as ... ? 0 : 0. > > I feel like it should warn about all of those because people shouldn't > be submitting unfinished written code to the kernel. Coccinelle is a > lot better for this than Smatch is because it's pre-processor stuff. OK, maybe I can report these in the next few days. thanks, julia
On Mon, Jun 04, 2018 at 02:06:45PM +0200, Mathieu Malaterre wrote: > Where did the original go ? > > https://patchwork.ozlabs.org/patch/868158/ > > Btw, we still haven't pushed a patch for this bug. regards, dan carpenter
On Wed, Aug 29, 2018 at 4:42 AM Dan Carpenter <dan.carpenter@oracle.com> wrote: > > On Mon, Jun 04, 2018 at 02:06:45PM +0200, Mathieu Malaterre wrote: > > Where did the original go ? > > > > https://patchwork.ozlabs.org/patch/868158/ > > > > > > Btw, we still haven't pushed a patch for this bug. I will combine Zhao Qiang's patch with your description which is better, and push as fix for 4.19. Regards, Leo
diff --git a/drivers/soc/fsl/qe/ucc.c b/drivers/soc/fsl/qe/ucc.c index c646d8713861..681f7d4b7724 100644 --- a/drivers/soc/fsl/qe/ucc.c +++ b/drivers/soc/fsl/qe/ucc.c @@ -626,7 +626,7 @@ static u32 ucc_get_tdm_sync_shift(enum comm_dir mode, u32 tdm_num) { u32 shift; - shift = (mode == COMM_DIR_RX) ? RX_SYNC_SHIFT_BASE : RX_SYNC_SHIFT_BASE; + shift = (mode == COMM_DIR_RX) ? RX_SYNC_SHIFT_BASE : TX_SYNC_SHIFT_BASE; shift -= tdm_num * 2; return shift;
There is a copy and paste bug so we accidentally use the RX_ shift when we're in TX_ mode. Fixes: bb8b2062aff3 ("fsl/qe: setup clock source for TDM mode") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- Static analysis work. Not tested. This affects the success path, so we should probably test it.