[PATCH 0/3] ATM-iphase: Adjustments for some function implementations
From: SF Markus Elfring <hidden>
Date: 2017-08-06 06:24:13
Subsystems: atm, the rest · Maintainers: Chas Williams, Linus Torvalds
Series: 3 patches touching 1 file, +49/-46
4 messages, 1 author, 2017-08-06 · open the first message on its own page
From: SF Markus Elfring <hidden>
Date: 2017-08-06 06:24:13
From: Markus Elfring <redacted> Date: Sun, 6 Aug 2017 08:18:28 +0200 A few update suggestions were taken into account from static source code analysis. Markus Elfring (3): Adjust 11 function calls together with a variable assignment Delete five error messages for a failed memory allocation Adjust four checks for null pointers drivers/atm/iphase.c | 95 +++++++++++++++++++++++++++------------------------- 1 file changed, 49 insertions(+), 46 deletions(-) -- 2.13.4
From: SF Markus Elfring <hidden>
Date: 2017-08-06 06:26:56
From: Markus Elfring <redacted> Date: Sat, 5 Aug 2017 21:39:06 +0200 The script "checkpatch.pl" pointed information out like the following. ERROR: do not use assignment in if condition Thus fix affected source code places. Signed-off-by: Markus Elfring <redacted> --- drivers/atm/iphase.c | 57 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 23 deletions(-)
diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c
index fc72b763fdd7..472762f70921 100644
--- a/drivers/atm/iphase.c
+++ b/drivers/atm/iphase.c@@ -152,7 +152,8 @@ static void ia_hack_tcq(IADEV *dev) { *(u_short *) (dev->seg_ram + dev->host_tcq_wr) = 0; } else if (dev->desc_tbl[desc1 -1].timestamp) { - if (!(iavcc_r = dev->desc_tbl[desc1 -1].iavcc)) { + iavcc_r = dev->desc_tbl[desc1 - 1].iavcc; + if (!iavcc_r) { printk("IA: Fatal err in get_desc\n"); continue; }
@@ -617,7 +618,8 @@ static int ia_que_tx (IADEV *iadev) { num_desc = ia_avail_descs(iadev); while (num_desc && (skb = skb_dequeue(&iadev->tx_backlog))) { - if (!(vcc = ATM_SKB(skb)->vcc)) { + vcc = ATM_SKB(skb)->vcc; + if (!vcc) { dev_kfree_skb_any(skb); printk("ia_que_tx: Null vcc\n"); break;
@@ -1172,8 +1174,9 @@ static int rx_pkt(struct atm_dev *dev) atomic_inc(&vcc->stats->rx_err); goto out_free_desc; } - - if (!(skb = atm_alloc_charge(vcc, len, GFP_ATOMIC))) { + + skb = atm_alloc_charge(vcc, len, GFP_ATOMIC); + if (!skb) { if (vcc->vci < 32) printk("Drop control packets\n"); goto out_free_desc;
@@ -1296,7 +1299,8 @@ static void rx_dle_intr(struct atm_dev *dev) desc = ATM_DESC(skb); free_desc(dev, desc); - if (!(len = skb->len)) + len = skb->len; + if (!len) { printk("rx_dle_intr: skb len 0\n"); dev_kfree_skb_any(skb);
@@ -1882,9 +1886,9 @@ static int open_tx(struct atm_vcc *vcc) } vc->type = CBR; vc->status = CRC_APPEND; - if ((ret = ia_cbr_setup (iadev, vcc)) < 0) { - return ret; - } + ret = ia_cbr_setup(iadev, vcc); + if (ret < 0) + return ret; } else { printk("iadev: Non UBR, ABR and CBR traffic not supported\n"); }
@@ -2293,15 +2297,19 @@ static int reset_sar(struct atm_dev *dev) unsigned int pci[64]; iadev = INPH_IA_DEV(dev); - for(i=0; i<64; i++) - if ((error = pci_read_config_dword(iadev->pci, - i*4, &pci[i])) != PCIBIOS_SUCCESSFUL) - return error; + for (i = 0; i < 64; i++) { + error = pci_read_config_dword(iadev->pci, i * 4, &pci[i]); + if (error != PCIBIOS_SUCCESSFUL) + return error; + } + writel(0, iadev->reg+IPHASE5575_EXT_RESET); - for(i=0; i<64; i++) - if ((error = pci_write_config_dword(iadev->pci, - i*4, pci[i])) != PCIBIOS_SUCCESSFUL) - return error; + for (i = 0; i < 64; i++) { + error = pci_write_config_dword(iadev->pci, i * 4, pci[i]); + if (error != PCIBIOS_SUCCESSFUL) + return error; + } + udelay(5); return 0; }
@@ -2516,9 +2524,10 @@ static int ia_start(struct atm_dev *dev) } /* @@@ should release IRQ on error */ /* enabling memory + master */ - if ((error = pci_write_config_word(iadev->pci, - PCI_COMMAND, - PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER ))) + error = pci_write_config_word(iadev->pci, + PCI_COMMAND, + PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER); + if (error) { printk(KERN_ERR DEV_LABEL "(itf %d): can't enable memory+" "master (0x%x)\n",dev->number, error);
@@ -2569,7 +2578,8 @@ static int ia_start(struct atm_dev *dev) readl(iadev->reg+IPHASE5575_BUS_CONTROL_REG));) phy = 0; /* resolve compiler complaint */ IF_INIT ( - if ((phy=ia_phy_get(dev,0)) == 0x30) + phy = ia_phy_get(dev, 0); + if (phy == 0x30) printk("IA: pm5346,rev.%d\n",phy&0x0f); else printk("IA: utopia,rev.%0x\n",phy);)
@@ -2710,15 +2720,16 @@ static int ia_open(struct atm_vcc *vcc) ia_vcc = kmalloc(sizeof(*ia_vcc), GFP_KERNEL); if (!ia_vcc) return -ENOMEM; vcc->dev_data = ia_vcc; - - if ((error = open_rx(vcc))) + error = open_rx(vcc); + if (error) { IF_EVENT(printk("iadev: error in open_rx, closing\n");) ia_close(vcc); return error; } - if ((error = open_tx(vcc))) + error = open_tx(vcc); + if (error) { IF_EVENT(printk("iadev: error in open_tx, closing\n");) ia_close(vcc);
--
2.13.4
From: SF Markus Elfring <hidden>
Date: 2017-08-06 06:28:32
From: Markus Elfring <redacted> Date: Sat, 5 Aug 2017 22:10:41 +0200 Omit extra messages for a memory allocation failure in these functions. This issue was detected by using the Coccinelle software. Link: http://events.linuxfoundation.org/sites/events/files/slides/LCJ16-Refactor_Strings-WSang_0.pdf Signed-off-by: Markus Elfring <redacted> --- drivers/atm/iphase.c | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-)
diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c
index 472762f70921..ad4c1b41ba98 100644
--- a/drivers/atm/iphase.c
+++ b/drivers/atm/iphase.c@@ -1623,11 +1623,8 @@ static int rx_init(struct atm_dev *dev) iadev->rx_free_desc_qhead = NULL; iadev->rx_open = kzalloc(4 * iadev->num_vc, GFP_KERNEL); - if (!iadev->rx_open) { - printk(KERN_ERR DEV_LABEL "itf %d couldn't get free page\n", - dev->number); + if (!iadev->rx_open) goto err_free_dle; - } iadev->rxing = 1; iadev->rx_pkt_cnt = 0;
@@ -1982,19 +1979,17 @@ static int tx_init(struct atm_dev *dev) iadev->tx_buf = kmalloc_array(iadev->num_tx_desc, sizeof(*iadev->tx_buf), GFP_KERNEL); - if (!iadev->tx_buf) { - printk(KERN_ERR DEV_LABEL " couldn't get mem\n"); - goto err_free_dle; - } + if (!iadev->tx_buf) + goto err_free_dle; + for (i= 0; i< iadev->num_tx_desc; i++) { struct cpcs_trailer *cpcs; cpcs = kmalloc(sizeof(*cpcs), GFP_KERNEL|GFP_DMA); - if(!cpcs) { - printk(KERN_ERR DEV_LABEL " couldn't get freepage\n"); - goto err_free_tx_bufs; - } + if (!cpcs) + goto err_free_tx_bufs; + iadev->tx_buf[i].cpcs = cpcs; iadev->tx_buf[i].dma_addr = dma_map_single(&iadev->pci->dev, cpcs,
@@ -2004,10 +1999,8 @@ static int tx_init(struct atm_dev *dev) iadev->desc_tbl = kmalloc_array(iadev->num_tx_desc, sizeof(*iadev->desc_tbl), GFP_KERNEL); - if (!iadev->desc_tbl) { - printk(KERN_ERR DEV_LABEL " couldn't get mem\n"); + if (!iadev->desc_tbl) goto err_free_all_tx_bufs; - } /* Communication Queues base address */ i = TX_COMP_Q * iadev->memSize;
@@ -2134,10 +2127,9 @@ static int tx_init(struct atm_dev *dev) iadev->testTable = kmalloc_array(iadev->num_vc, sizeof(*iadev->testTable), GFP_KERNEL); - if (!iadev->testTable) { - printk("Get freepage failed\n"); - goto err_free_desc_tbl; - } + if (!iadev->testTable) + goto err_free_desc_tbl; + for(i=0; i<iadev->num_vc; i++) { memset((caddr_t)vc, 0, sizeof(*vc));
--
2.13.4
From: SF Markus Elfring <hidden>
Date: 2017-08-06 06:30:26
From: Markus Elfring <redacted> Date: Sat, 5 Aug 2017 22:30:04 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The script “checkpatch.pl” pointed information out like the following. Comparison to NULL could be written !… Thus fix the affected source code places. Signed-off-by: Markus Elfring <redacted> --- drivers/atm/iphase.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c
index ad4c1b41ba98..19782fed572a 100644
--- a/drivers/atm/iphase.c
+++ b/drivers/atm/iphase.c@@ -101,7 +101,7 @@ static void ia_init_rtn_q (IARTN_Q *que) static void ia_enque_head_rtn_q (IARTN_Q *que, IARTN_Q * data) { data->next = NULL; - if (que->next == NULL) + if (!que->next) que->next = que->tail = data; else { data->next = que->next;
@@ -116,7 +116,7 @@ static int ia_enque_rtn_q (IARTN_Q *que, struct desc_tbl_t data) { return -ENOMEM; entry->data = data; entry->next = NULL; - if (que->next == NULL) + if (!que->next) que->next = que->tail = entry; else { que->tail->next = entry;
@@ -127,7 +127,7 @@ static int ia_enque_rtn_q (IARTN_Q *que, struct desc_tbl_t data) { static IARTN_Q * ia_deque_rtn_q (IARTN_Q *que) { IARTN_Q *tmpdata; - if (que->next == NULL) + if (!que->next) return NULL; tmpdata = que->next; if ( que->next == que->tail)
@@ -1321,7 +1321,7 @@ static void rx_dle_intr(struct atm_dev *dev) goto INCR_DLE; } ia_vcc = INPH_IA_VCC(vcc); - if (ia_vcc == NULL) + if (!ia_vcc) { atomic_inc(&vcc->stats->rx_err); atm_return(vcc, skb->truesize);
--
2.13.4