Showing error 1580

User: Jiri Slaby
Error type: Leaving function in locked state
Error type description: Some lock is not unlocked on all paths of a function, so it is leaked
File location: drivers/scsi/ips.c
Line in file: 2830
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-29 20:11:37 UTC


Source:

2800                                scb->scsi_cmd->result = DID_ERROR << 16;
2801                                scb->scsi_cmd->scsi_done(scb->scsi_cmd);
2802                        }
2803
2804                        if (scb->bus)
2805                                ha->dcdb_active[scb->bus - 1] &=
2806                                    ~(1 << scb->target_id);
2807
2808                        ips_freescb(ha, scb);
2809                        break;
2810                case IPS_SUCCESS_IMM:
2811                        if (scb->scsi_cmd)
2812                                scb->scsi_cmd->scsi_done(scb->scsi_cmd);
2813
2814                        if (scb->bus)
2815                                ha->dcdb_active[scb->bus - 1] &=
2816                                    ~(1 << scb->target_id);
2817
2818                        ips_freescb(ha, scb);
2819                        break;
2820                default:
2821                        break;
2822                }                /* end case */
2823
2824                p = (struct scsi_cmnd *) p->host_scribble;
2825
2826        }                        /* end while */
2827
2828        if (intr == IPS_INTR_ON)
2829                spin_unlock(host->host_lock);
2830}
2831
2832/****************************************************************************/
2833/*                                                                          */
2834/* Routine Name: ips_putq_scb_head                                          */
2835/*                                                                          */
2836/* Routine Description:                                                     */
2837/*                                                                          */
2838/*   Add an item to the head of the queue                                   */
2839/*                                                                          */
2840/* ASSUMED to be called from within the HA lock                             */
Show full sources