Showing error 1577

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/net/netxen/netxen_nic_hw.c
Line in file: 1167
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-29 20:11:37 UTC


Source:

1137                crb_win_lock(adapter);
1138                netxen_nic_pci_set_crbwindow_2M(adapter, &off);
1139        }
1140
1141        DPRINTK(1, INFO, "read from offset %lx, len=%d\n", off, len);
1142
1143        switch (len) {
1144        case 1:
1145                *(uint8_t *)data = readb((void *)off);
1146                break;
1147        case 2:
1148                *(uint16_t *)data = readw((void *)off);
1149                break;
1150        case 4:
1151                *(uint32_t *)data = readl((void *)off);
1152                break;
1153        case 8:
1154                *(uint64_t *)data = readq((void *)off);
1155                break;
1156        default:
1157                break;
1158        }
1159
1160        DPRINTK(1, INFO, "read %lx\n", *(unsigned long *)data);
1161
1162        if (rv == 1) {
1163                crb_win_unlock(adapter);
1164                write_unlock_irqrestore(&adapter->adapter_lock, flags);
1165        }
1166
1167        return 0;
1168}
1169
1170void netxen_nic_reg_write(struct netxen_adapter *adapter, u64 off, u32 val)
1171{
1172        adapter->hw_write_wx(adapter, off, &val, 4);
1173}
1174
1175int netxen_nic_reg_read(struct netxen_adapter *adapter, u64 off)
1176{
1177        int val;
Show full sources