Showing error 1911

User: Jiri Slaby
Error type: Invalid Pointer Dereference
Error type description: A pointer which is invalid is being dereferenced
File location: drivers/macintosh/windfarm_pm121.c
Line in file: 574
Project: Linux Kernel
Project version: 2.6.28
Tools: Cppcheck (1.59)
Entered: 2013-10-17 18:38:34 UTC


Source:

 544                                           GFP_KERNEL);
 545        if (pm121_sys_state[loop_id] == NULL) {
 546                printk(KERN_WARNING "pm121: Memory allocation error\n");
 547                goto fail;
 548        }
 549        pm121_sys_state[loop_id]->ticks = 1;
 550
 551        /* Fill PID params */
 552        pid_param.gd                = PM121_SYS_GD;
 553        pid_param.gp                = param->gp;
 554        pid_param.gr                = PM121_SYS_GR;
 555        pid_param.interval        = PM121_SYS_INTERVAL;
 556        pid_param.history_len        = PM121_SYS_HISTORY_SIZE;
 557        pid_param.itarget        = param->itarget;
 558        pid_param.min                = control->ops->get_min(control);
 559        pid_param.max                = control->ops->get_max(control);
 560
 561        wf_pid_init(&pm121_sys_state[loop_id]->pid, &pid_param);
 562
 563        pr_debug("pm121: %s Fan control loop initialized.\n"
 564                 "       itarged=%d.%03d, min=%d RPM, max=%d RPM\n",
 565                 loop_names[loop_id], FIX32TOPRINT(pid_param.itarget),
 566                 pid_param.min, pid_param.max);
 567        return;
 568
 569 fail:
 570        /* note that this is not optimal since another loop may still
 571           control the same control */
 572        printk(KERN_WARNING "pm121: failed to set up %s loop "
 573               "setting \"%s\" to max speed.\n",
 574               loop_names[loop_id], control->name);
 575
 576        if (control)
 577                wf_control_set_max(control);
 578}
 579
 580static void pm121_sys_fans_tick(int loop_id)
 581{
 582        struct pm121_sys_param *param;
 583        struct pm121_sys_state *st;
 584        struct wf_sensor *sensor;
Show full sources