staging: wlan-ng: get memory from kernel allocators instead of big static buffer
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Sun, 9 Oct 2016 15:29:22 +0000 (17:29 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 16 Oct 2016 08:25:45 +0000 (10:25 +0200)
This patch fix the following sparse warnings in prism2fw.c:
warning: memset with byte count of 120000

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wlan-ng/prism2fw.c

index 2454a787b17785ef26ff21009804b66f7ab4f3d2..d90b1f47a558d9f42367a4b2cedd586ea0b0f0fa 100644 (file)
@@ -124,7 +124,7 @@ struct imgchunk {
 
 /* Data records */
 static unsigned int ns3data;
-static struct s3datarec s3data[S3DATA_MAX];
+static struct s3datarec *s3data;
 
 /* Plug records */
 static unsigned int ns3plug;
@@ -250,7 +250,12 @@ static int prism2_fwapply(const struct ihex_binrec *rfptr,
 
        /* Initialize the data structures */
        ns3data = 0;
-       memset(s3data, 0, sizeof(s3data));
+       s3data = kcalloc(S3DATA_MAX, sizeof(*s3data), GFP_KERNEL);
+       if (!s3data) {
+               result = -ENOMEM;
+               goto out;
+       }
+
        ns3plug = 0;
        memset(s3plug, 0, sizeof(s3plug));
        ns3crc = 0;
@@ -480,7 +485,7 @@ static void free_chunks(struct imgchunk *fchunk, unsigned int *nfchunks)
 static void free_srecs(void)
 {
        ns3data = 0;
-       memset(s3data, 0, sizeof(s3data));
+       kfree(s3data);
        ns3plug = 0;
        memset(s3plug, 0, sizeof(s3plug));
        ns3crc = 0;