[PATCH] atm: [nicstar] make drain_scq explicitly unsigned

From: Jordy Zomer
Date: Sat Jul 31 2021 - 04:55:04 EST


The drain_scq function used to take a signed integer as a pos parameter.
The only caller of this function passes an unsigned integer to it.
Therefore to make it obviously safe, let's just make this an unsgined
integer as this is used in pointer arithmetics.

Signed-off-by: Jordy Zomer <jordy@pwning.systems>
---
drivers/atm/nicstar.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/atm/nicstar.c b/drivers/atm/nicstar.c
index bc5a6ab6fa4b..530683972f16 100644
--- a/drivers/atm/nicstar.c
+++ b/drivers/atm/nicstar.c
@@ -1917,14 +1917,14 @@ static void process_tsq(ns_dev * card)
card->membase + TSQH);
}

-static void drain_scq(ns_dev * card, scq_info * scq, int pos)
+static void drain_scq(ns_dev *card, scq_info *scq, unsigned int pos)
{
struct atm_vcc *vcc;
struct sk_buff *skb;
- int i;
+ unsigned int i;
unsigned long flags;

- XPRINTK("nicstar%d: drain_scq() called, scq at 0x%p, pos %d.\n",
+ XPRINTK("nicstar%d: drain_scq() called, scq at 0x%p, pos %u.\n",
card->index, scq, pos);
if (pos >= scq->num_entries) {
printk("nicstar%d: Bad index on drain_scq().\n", card->index);
@@ -1932,12 +1932,12 @@ static void drain_scq(ns_dev * card, scq_info * scq, int pos)
}

spin_lock_irqsave(&scq->lock, flags);
- i = (int)(scq->tail - scq->base);
+ i = (unsigned int)(scq->tail - scq->base);
if (++i == scq->num_entries)
i = 0;
while (i != pos) {
skb = scq->skb[i];
- XPRINTK("nicstar%d: freeing skb at 0x%p (index %d).\n",
+ XPRINTK("nicstar%d: freeing skb at 0x%p (index %u).\n",
card->index, skb, i);
if (skb != NULL) {
dma_unmap_single(&card->pcidev->dev,
--
2.27.0