RE: [bug report] Add support of Cavium Liquidio ethernet adapters

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Please see inline:

> -----Original Message-----
> From: Dan Carpenter [mailto:dan.carpenter@xxxxxxxxxx]
> Sent: Wednesday, November 30, 2016 10:58 AM
> To: Vatsavayi, Raghu
> Cc: kernel-janitors@xxxxxxxxxxxxxxx; Goutham, Sunil
> Subject: [bug report] Add support of Cavium Liquidio ethernet adapters
> 
> Hello Raghu Vatsavayi,
> 
> The patch f21fb3ed364b: "Add support of Cavium Liquidio ethernet
> adapters" from Jun 9, 2015, leads to the following static checker
> warning:
> 
> 	drivers/net/ethernet/cavium/liquidio/lio_main.c:1013
> liquidio_schedule_droq_pkt_handlers()
> 	warn: potential left shift more than type allows '0-63'
> 
> drivers/net/ethernet/cavium/liquidio/lio_main.c
>    996  static void liquidio_schedule_droq_pkt_handlers(struct octeon_device
> *oct)
>    997  {
>    998          struct octeon_device_priv *oct_priv =
>    999                  (struct octeon_device_priv *)oct->priv;
>   1000          u64 oq_no;
> 
> This should probably be int.  Making it u64 doesn't do anything.
> 
>   1001          struct octeon_droq *droq;
>   1002
>   1003          if (oct->int_status & OCT_DEV_INTR_PKT_DATA) {
>   1004                  for (oq_no = 0; oq_no <
> MAX_OCTEON_OUTPUT_QUEUES(oct);
>                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is either
> 32 or 64.
> 
> 
>   1005                       oq_no++) {
>   1006                          if (!(oct->droq_intr & BIT_ULL(oq_no)))
>   1007                                  continue;
>   1008
>   1009                          droq = oct->droq[oq_no];
>   1010
>   1011                          if (droq->ops.poll_mode) {
>   1012                                  droq->ops.napi_fn(droq);
>   1013                                  oct_priv->napi_mask |= (1 << oq_no);
> 
> It should be 1ULL << oq_no.  But the other bug is tahte ->napi_mask is a long
> but that will break on 32 bit systems when
> MAX_OCTEON_OUTPUT_QUEUES() is 64.  Is that a possible combination?
> 

[Raghu]: These drivers are for 64 bit systems as mentioned in Kconfig.

>   1014                          } else {
>   1015                                  tasklet_schedule(&oct_priv->droq_tasklet);
>   1016                          }
>   1017                  }
>   1018          }
>   1019  }
> 
> 
> regards,
> dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux