]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: ena: Fix all static chekers' warnings
authorShay Agroskin <shayagr@amazon.com>
Mon, 21 Sep 2020 08:37:41 +0000 (11:37 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 21 Sep 2020 20:54:23 +0000 (13:54 -0700)
After running Sparse checker on the driver using
    make C=1 M=drivers/net/ethernet/amazon/ena

the only error that is thrown is:
    sparse: sparse: Using plain integer as NULL pointer
about the line
    struct ena_calc_queue_size_ctx calc_queue_ctx = { 0 };

This patch fixes this warning, thus making our driver free (for now) of
Sparse errors/warnings.

To make a more complete work, this patch also fixes all static warnings
that were found using an internal static checker.

Signed-off-by: Ido Segev <idose@amazon.com>
Signed-off-by: Shay Agroskin <shayagr@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/amazon/ena/ena_com.c
drivers/net/ethernet/amazon/ena/ena_eth_com.c
drivers/net/ethernet/amazon/ena/ena_netdev.c

index 2e2366d406f63113b5b0f1cce18433815e68fe9e..34434c6b6000066ea6fd2c88bc1423d7788201d5 100644 (file)
@@ -513,6 +513,8 @@ static int ena_com_comp_status_to_errno(u8 comp_status)
        case ENA_ADMIN_ILLEGAL_PARAMETER:
        case ENA_ADMIN_UNKNOWN_ERROR:
                return -EINVAL;
+       case ENA_ADMIN_RESOURCE_BUSY:
+               return -EAGAIN;
        }
 
        return -EINVAL;
index 8abaf3cbb5b93a5f23e65c3883cfd360327e3847..ad30cacc16222ae3d7fa1da63fb49c751896adff 100644 (file)
@@ -266,6 +266,9 @@ static int ena_com_create_meta(struct ena_com_io_sq *io_sq,
        struct ena_eth_io_tx_meta_desc *meta_desc = NULL;
 
        meta_desc = get_sq_desc(io_sq);
+       if (unlikely(!meta_desc))
+               return -EFAULT;
+
        memset(meta_desc, 0x0, sizeof(struct ena_eth_io_tx_meta_desc));
 
        meta_desc->len_ctrl |= ENA_ETH_IO_TX_META_DESC_META_DESC_MASK;
@@ -273,7 +276,7 @@ static int ena_com_create_meta(struct ena_com_io_sq *io_sq,
        meta_desc->len_ctrl |= ENA_ETH_IO_TX_META_DESC_EXT_VALID_MASK;
 
        /* bits 0-9 of the mss */
-       meta_desc->word2 |= (ena_meta->mss <<
+       meta_desc->word2 |= ((u32)ena_meta->mss <<
                ENA_ETH_IO_TX_META_DESC_MSS_LO_SHIFT) &
                ENA_ETH_IO_TX_META_DESC_MSS_LO_MASK;
        /* bits 10-13 of the mss */
@@ -283,7 +286,7 @@ static int ena_com_create_meta(struct ena_com_io_sq *io_sq,
 
        /* Extended meta desc */
        meta_desc->len_ctrl |= ENA_ETH_IO_TX_META_DESC_ETH_META_TYPE_MASK;
-       meta_desc->len_ctrl |= (io_sq->phase <<
+       meta_desc->len_ctrl |= ((u32)io_sq->phase <<
                ENA_ETH_IO_TX_META_DESC_PHASE_SHIFT) &
                ENA_ETH_IO_TX_META_DESC_PHASE_MASK;
 
@@ -296,7 +299,7 @@ static int ena_com_create_meta(struct ena_com_io_sq *io_sq,
                ENA_ETH_IO_TX_META_DESC_L3_HDR_OFF_SHIFT) &
                ENA_ETH_IO_TX_META_DESC_L3_HDR_OFF_MASK;
 
-       meta_desc->word2 |= (ena_meta->l4_hdr_len <<
+       meta_desc->word2 |= ((u32)ena_meta->l4_hdr_len <<
                ENA_ETH_IO_TX_META_DESC_L4_HDR_LEN_IN_WORDS_SHIFT) &
                ENA_ETH_IO_TX_META_DESC_L4_HDR_LEN_IN_WORDS_MASK;
 
@@ -422,16 +425,16 @@ int ena_com_prepare_tx(struct ena_com_io_sq *io_sq,
        if (!have_meta)
                desc->len_ctrl |= ENA_ETH_IO_TX_DESC_FIRST_MASK;
 
-       desc->buff_addr_hi_hdr_sz |= (header_len <<
+       desc->buff_addr_hi_hdr_sz |= ((u32)header_len <<
                ENA_ETH_IO_TX_DESC_HEADER_LENGTH_SHIFT) &
                ENA_ETH_IO_TX_DESC_HEADER_LENGTH_MASK;
-       desc->len_ctrl |= (io_sq->phase << ENA_ETH_IO_TX_DESC_PHASE_SHIFT) &
+       desc->len_ctrl |= ((u32)io_sq->phase << ENA_ETH_IO_TX_DESC_PHASE_SHIFT) &
                ENA_ETH_IO_TX_DESC_PHASE_MASK;
 
        desc->len_ctrl |= ENA_ETH_IO_TX_DESC_COMP_REQ_MASK;
 
        /* Bits 0-9 */
-       desc->meta_ctrl |= (ena_tx_ctx->req_id <<
+       desc->meta_ctrl |= ((u32)ena_tx_ctx->req_id <<
                ENA_ETH_IO_TX_DESC_REQ_ID_LO_SHIFT) &
                ENA_ETH_IO_TX_DESC_REQ_ID_LO_MASK;
 
@@ -477,7 +480,7 @@ int ena_com_prepare_tx(struct ena_com_io_sq *io_sq,
 
                        memset(desc, 0x0, sizeof(struct ena_eth_io_tx_desc));
 
-                       desc->len_ctrl |= (io_sq->phase <<
+                       desc->len_ctrl |= ((u32)io_sq->phase <<
                                ENA_ETH_IO_TX_DESC_PHASE_SHIFT) &
                                ENA_ETH_IO_TX_DESC_PHASE_MASK;
                }
index 97e7012222266184bbf531faf8b21acefe24c8ef..e8131dadc22c3155fb565793b2e24e8a01617500 100644 (file)
@@ -4149,7 +4149,7 @@ static int ena_calc_io_queue_size(struct ena_calc_queue_size_ctx *ctx)
  */
 static int ena_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
-       struct ena_calc_queue_size_ctx calc_queue_ctx = { 0 };
+       struct ena_calc_queue_size_ctx calc_queue_ctx = {};
        struct ena_com_dev_get_features_ctx get_feat_ctx;
        struct ena_com_dev *ena_dev = NULL;
        struct ena_adapter *adapter;