parport: use kmemdup instead of kmalloc + memcpy
[sfrench/cifs-2.6.git] / drivers / parport / parport_gsc.c
index 050773c368238d0d6fe7ffdd53db1e3ecc5ebc62..a5251cb5fb0c616f4254c025bbd77d5925014a2f 100644 (file)
@@ -246,14 +246,14 @@ struct parport *parport_gsc_probe_port(unsigned long base,
                printk (KERN_DEBUG "parport (0x%lx): no memory!\n", base);
                return NULL;
        }
-       ops = kmalloc (sizeof (struct parport_operations), GFP_KERNEL);
+       ops = kmemdup(&parport_gsc_ops, sizeof(struct parport_operations),
+                     GFP_KERNEL);
        if (!ops) {
                printk (KERN_DEBUG "parport (0x%lx): no memory for ops!\n",
                        base);
                kfree (priv);
                return NULL;
        }
-       memcpy (ops, &parport_gsc_ops, sizeof (struct parport_operations));
        priv->ctr = 0xc;
        priv->ctr_writable = 0xff;
        priv->dma_buf = 0;