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: | net/irda/irlan/irlan_common.c |
Line in file: | 1135 |
Project: | Linux Kernel |
Project version: | 2.6.28 |
Tools: |
Stanse
(1.2)
|
Entered: | 2012-05-21 20:30:05 UTC |
1105 return -RSP_INVALID_COMMAND_FORMAT; 1106 } 1107 *len = val_len; 1108 1109 /* get parameter value */ 1110 memcpy(value, buf+n, val_len); 1111 value[val_len] = '\0'; 1112 n+=val_len; 1113 1114 IRDA_DEBUG(4, "Parameter: %s ", name); 1115 IRDA_DEBUG(4, "Value: %s\n", value); 1116 1117 return n; 1118} 1119 1120#ifdef CONFIG_PROC_FS 1121 1122/* 1123 * Start of reading /proc entries. 1124 * Return entry at pos, 1125 * or start_token to indicate print header line 1126 * or NULL if end of file 1127 */ 1128static void *irlan_seq_start(struct seq_file *seq, loff_t *pos) 1129{ 1130 int i = 1; 1131 struct irlan_cb *self; 1132 1133 rcu_read_lock(); 1134 if (*pos == 0) 1135 return SEQ_START_TOKEN; 1136 1137 list_for_each_entry(self, &irlans, dev_list) { 1138 if (*pos == i) 1139 return self; 1140 ++i; 1141 } 1142 return NULL; 1143} 1144 1145/* Return entry after v, and increment pos */