]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/scsi/pm8001/pm8001_hwi.c
Merge branch 'master' into tk71
[mv-sheeva.git] / drivers / scsi / pm8001 / pm8001_hwi.c
index 9793aa6afb1061cfc035e3b1b826a375a78a7296..d8db0137c0c74ea62943c01893d448dcdd04271b 100644 (file)
@@ -4194,6 +4194,8 @@ static int pm8001_chip_get_nvmd_req(struct pm8001_hba_info *pm8001_ha,
 
        nvmd_type = ioctl_payload->minor_function;
        fw_control_context = kzalloc(sizeof(struct fw_control_ex), GFP_KERNEL);
+       if (!fw_control_context)
+               return -ENOMEM;
        fw_control_context->usrAddr = (u8 *)&ioctl_payload->func_specific[0];
        fw_control_context->len = ioctl_payload->length;
        circularQ = &pm8001_ha->inbnd_q_tbl[0];
@@ -4272,6 +4274,8 @@ static int pm8001_chip_set_nvmd_req(struct pm8001_hba_info *pm8001_ha,
 
        nvmd_type = ioctl_payload->minor_function;
        fw_control_context = kzalloc(sizeof(struct fw_control_ex), GFP_KERNEL);
+       if (!fw_control_context)
+               return -ENOMEM;
        circularQ = &pm8001_ha->inbnd_q_tbl[0];
        memcpy(pm8001_ha->memoryMap.region[NVMD].virt_ptr,
                ioctl_payload->func_specific,
@@ -4381,6 +4385,8 @@ pm8001_chip_fw_flash_update_req(struct pm8001_hba_info *pm8001_ha,
        struct pm8001_ioctl_payload *ioctl_payload = payload;
 
        fw_control_context = kzalloc(sizeof(struct fw_control_ex), GFP_KERNEL);
+       if (!fw_control_context)
+               return -ENOMEM;
        fw_control = (struct fw_control_info *)&ioctl_payload->func_specific[0];
        if (fw_control->len != 0) {
                if (pm8001_mem_alloc(pm8001_ha->pdev,