[SCSI] sr: partial revert of 24669f75a3231fa37444977c92d1f4838bec1233
[linux-2.6.git] / drivers / scsi / sr_ioctl.c
index 03fbc4b44473814b917259b8a3aec9f518ddfd05..5d02ff4db6cc1e050d94ee83fa24899d9dc9050a 100644 (file)
@@ -44,10 +44,11 @@ static int sr_read_tochdr(struct cdrom_device_info *cdi,
        int result;
        unsigned char *buffer;
 
-       buffer = kzalloc(32, GFP_KERNEL | SR_GFP_DMA(cd));
+       buffer = kmalloc(32, GFP_KERNEL | SR_GFP_DMA(cd));
        if (!buffer)
                return -ENOMEM;
 
+       memset(&cgc, 0, sizeof(struct packet_command));
        cgc.timeout = IOCTL_TIMEOUT;
        cgc.cmd[0] = GPCMD_READ_TOC_PMA_ATIP;
        cgc.cmd[8] = 12;                /* LSB of length */
@@ -73,10 +74,11 @@ static int sr_read_tocentry(struct cdrom_device_info *cdi,
        int result;
        unsigned char *buffer;
 
-       buffer = kzalloc(32, GFP_KERNEL | SR_GFP_DMA(cd));
+       buffer = kmalloc(32, GFP_KERNEL | SR_GFP_DMA(cd));
        if (!buffer)
                return -ENOMEM;
 
+       memset(&cgc, 0, sizeof(struct packet_command));
        cgc.timeout = IOCTL_TIMEOUT;
        cgc.cmd[0] = GPCMD_READ_TOC_PMA_ATIP;
        cgc.cmd[1] |= (tocentry->cdte_format == CDROM_MSF) ? 0x02 : 0;