arcnet: Make a char * array const char * const
authorJoe Perches <joe@perches.com>
Tue, 5 May 2015 17:06:04 +0000 (10:06 -0700)
committerMichael Grzeschik <m.grzeschik@pengutronix.de>
Wed, 23 Sep 2015 06:44:26 +0000 (08:44 +0200)
Might as well be specific about the use of this array.

Add a commment questioning the indexing too.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
drivers/net/arcnet/com20020.c

index f46e22093c5439585c1196796da724fe97dd0470..ddd64bb87b5899709a81433c764adda6da5e5507 100644 (file)
 #include "arcdevice.h"
 #include "com20020.h"
 
-static char *clockrates[] = {
-       "XXXXXXX", "XXXXXXXX", "XXXXXX",
-       "2.5 Mb/s", "1.25Mb/s", "625 Kb/s", "312.5 Kb/s",
-       "156.25 Kb/s", "Reserved", "Reserved", "Reserved"
+static const char * const clockrates[] = {
+       "XXXXXXX", "XXXXXXXX", "XXXXXX", "2.5 Mb/s",
+       "1.25Mb/s", "625 Kb/s", "312.5 Kb/s", "156.25 Kb/s",
+       "Reserved", "Reserved", "Reserved"
 };
 
 static void com20020_command(struct net_device *dev, int command);
@@ -234,7 +234,12 @@ int com20020_found(struct net_device *dev, int shared)
 
        arc_printk(D_NORMAL, dev, "Using CKP %d - data rate %s\n",
                   lp->setup >> 1,
-                  clockrates[3 - ((lp->setup2 & 0xF0) >> 4) + ((lp->setup & 0x0F) >> 1)]);
+                  clockrates[3 -
+                             ((lp->setup2 & 0xF0) >> 4) +
+                             ((lp->setup & 0x0F) >> 1)]);
+                       /* The clockrates array index looks very fragile.
+                        * It seems like it could have negative indexing.
+                        */
 
        if (register_netdev(dev)) {
                free_irq(dev->irq, dev);