Replaced kmalloc/memset sequence with kzalloc or kcalloc.
authorIan Abbott <abbotti@mev.co.uk>
Wed, 17 Oct 2007 15:24:40 +0000 (15:24 +0000)
committerIan Abbott <abbotti@mev.co.uk>
Wed, 17 Oct 2007 15:24:40 +0000 (15:24 +0000)
Removed call to memset after alloc_subdevices to avoid clobbering spinlocks.

comedi/drivers/pcmmio.c
comedi/drivers/pcmuio.c

index 28b270da99c46802fea72573d2264bba78a6a400..2c493c79a0fa4dece3cb489c45e3252924b21a89 100644 (file)
@@ -366,12 +366,11 @@ static int pcmmio_attach(comedi_device *dev, comedi_devconfig *it)
     chans_left = CHANS_PER_ASIC * thisboard->dio_num_asics;
     n_dio_subdevs = CALC_N_DIO_SUBDEVS(chans_left);
     n_subdevs = n_dio_subdevs + 2;
-    devpriv->sprivs = (pcmmio_subdev_private *)kmalloc(sizeof(pcmmio_subdev_private) * n_subdevs, GFP_KERNEL);
+    devpriv->sprivs = kcalloc(n_subdevs, sizeof(pcmmio_subdev_private), GFP_KERNEL);
     if (!devpriv->sprivs) {
         printk("cannot allocate subdevice private data structures\n");
         return -ENOMEM;
     }
-    memset(devpriv->sprivs, 0, sizeof(pcmmio_subdev_private) * n_subdevs);
       /*
        * Allocate the subdevice structures.  alloc_subdevice() is a
        * convenient macro defined in comedidev.h.
@@ -383,8 +382,6 @@ static int pcmmio_attach(comedi_device *dev, comedi_devconfig *it)
         return -ENOMEM;
     }
 
-    memset(dev->subdevices, 0, sizeof(*dev->subdevices) * n_subdevs);
-
     /* First, AI */
     sdev_no = 0;
     s = dev->subdevices + sdev_no;
index 03d52abf9c95c1e0c5dcbeadd94df8f36bf239c1..13b24462a9995d822ee82cc23d05f9b2e4277c33 100644 (file)
@@ -331,12 +331,11 @@ static int pcmuio_attach(comedi_device *dev, comedi_devconfig *it)
 
     chans_left = CHANS_PER_ASIC * thisboard->num_asics;
     n_subdevs = CALC_N_SUBDEVS(chans_left);
-    devpriv->sprivs = (pcmuio_subdev_private *)kmalloc(sizeof(pcmuio_subdev_private) * n_subdevs, GFP_KERNEL);
+    devpriv->sprivs = kcalloc(n_subdevs, sizeof(pcmuio_subdev_private), GFP_KERNEL);
     if (!devpriv->sprivs) {
         printk("cannot allocate subdevice private data structures\n");
         return -ENOMEM;
     }
-    memset(devpriv->sprivs, 0, sizeof(pcmuio_subdev_private) * n_subdevs);
       /*
        * Allocate the subdevice structures.  alloc_subdevice() is a
        * convenient macro defined in comedidev.h.
@@ -349,8 +348,6 @@ static int pcmuio_attach(comedi_device *dev, comedi_devconfig *it)
         return -ENOMEM;
     }
 
-    memset(dev->subdevices, 0, sizeof(*dev->subdevices) * n_subdevs);
-
     port = 0;
     asic = 0;
     for (sdev_no = 0; sdev_no < (int)dev->n_subdevices; ++sdev_no)