Showing error 620

User: Jiri Slaby
Error type: Double Unlock
Error type description: Some lock is unlocked twice unintentionally in a sequence
File location: drivers/scsi/gdth.c
Line in file: 2271
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2011-11-07 22:20:57 UTC


Source:

2241              default:
2242                TRACE2(("cache cmd %x/%x/%x/%x/%x/%x unknown\n",nscp->cmnd[0],
2243                        nscp->cmnd[1],nscp->cmnd[2],nscp->cmnd[3],
2244                        nscp->cmnd[4],nscp->cmnd[5]));
2245                printk("GDT-HA %d: Unknown SCSI command 0x%x to cache service !\n",
2246                       ha->hanum, nscp->cmnd[0]);
2247                nscp->result = DID_ABORT << 16;
2248                if (!nscp_cmndinfo->wait_for_completion)
2249                    nscp_cmndinfo->wait_for_completion++;
2250                else
2251                    gdth_scsi_done(nscp);
2252                break;
2253            }
2254        }
2255
2256        if (!this_cmd)
2257            break;
2258        if (nscp == ha->req_first)
2259            ha->req_first = pscp = (Scsi_Cmnd *)nscp->SCp.ptr;
2260        else
2261            pscp->SCp.ptr = nscp->SCp.ptr;
2262        if (!next_cmd)
2263            break;
2264    }
2265
2266    if (ha->cmd_cnt > 0) {
2267        gdth_release_event(ha);
2268    }
2269
2270    if (!gdth_polling) 
2271        spin_unlock_irqrestore(&ha->smp_lock, flags);
2272
2273    if (gdth_polling && ha->cmd_cnt > 0) {
2274        if (!gdth_wait(ha, cmd_index, POLL_TIMEOUT))
2275            printk("GDT-HA %d: Command %d timed out !\n",
2276                   ha->hanum, cmd_index);
2277    }
2278}
2279
2280/*
2281 * gdth_copy_internal_data() - copy to/from a buffer onto a scsi_cmnd's
Show full sources