diff options
author | Brian King <brking@linux.vnet.ibm.com> | 2007-03-29 13:43:30 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-04-01 12:18:11 -0400 |
commit | 933916f365f9ef1268c058bfaba2d4dcf26e4fd0 (patch) | |
tree | 801d8cd673ae48f6b1edb96c7fa1e6c219e977b0 /drivers/scsi/ipr.c | |
parent | a9aedb098437655b7b78d66e0e28405830cbdbef (diff) |
[SCSI] ipr: Improve async error logging level control
Add the ability to control how much error data gets logged
on a per error basis.
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/ipr.c')
-rw-r--r-- | drivers/scsi/ipr.c | 192 |
1 files changed, 96 insertions, 96 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index b502c831cc5e..e1d24ddd8811 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c | |||
@@ -164,7 +164,7 @@ MODULE_VERSION(IPR_DRIVER_VERSION); | |||
164 | /* A constant array of IOASCs/URCs/Error Messages */ | 164 | /* A constant array of IOASCs/URCs/Error Messages */ |
165 | static const | 165 | static const |
166 | struct ipr_error_table_t ipr_error_table[] = { | 166 | struct ipr_error_table_t ipr_error_table[] = { |
167 | {0x00000000, 1, 1, | 167 | {0x00000000, 1, IPR_DEFAULT_LOG_LEVEL, |
168 | "8155: An unknown error was received"}, | 168 | "8155: An unknown error was received"}, |
169 | {0x00330000, 0, 0, | 169 | {0x00330000, 0, 0, |
170 | "Soft underlength error"}, | 170 | "Soft underlength error"}, |
@@ -172,37 +172,37 @@ struct ipr_error_table_t ipr_error_table[] = { | |||
172 | "Command to be cancelled not found"}, | 172 | "Command to be cancelled not found"}, |
173 | {0x00808000, 0, 0, | 173 | {0x00808000, 0, 0, |
174 | "Qualified success"}, | 174 | "Qualified success"}, |
175 | {0x01080000, 1, 1, | 175 | {0x01080000, 1, IPR_DEFAULT_LOG_LEVEL, |
176 | "FFFE: Soft device bus error recovered by the IOA"}, | 176 | "FFFE: Soft device bus error recovered by the IOA"}, |
177 | {0x01088100, 0, 1, | 177 | {0x01088100, 0, IPR_DEFAULT_LOG_LEVEL, |
178 | "4101: Soft device bus fabric error"}, | 178 | "4101: Soft device bus fabric error"}, |
179 | {0x01170600, 0, 1, | 179 | {0x01170600, 0, IPR_DEFAULT_LOG_LEVEL, |
180 | "FFF9: Device sector reassign successful"}, | 180 | "FFF9: Device sector reassign successful"}, |
181 | {0x01170900, 0, 1, | 181 | {0x01170900, 0, IPR_DEFAULT_LOG_LEVEL, |
182 | "FFF7: Media error recovered by device rewrite procedures"}, | 182 | "FFF7: Media error recovered by device rewrite procedures"}, |
183 | {0x01180200, 0, 1, | 183 | {0x01180200, 0, IPR_DEFAULT_LOG_LEVEL, |
184 | "7001: IOA sector reassignment successful"}, | 184 | "7001: IOA sector reassignment successful"}, |
185 | {0x01180500, 0, 1, | 185 | {0x01180500, 0, IPR_DEFAULT_LOG_LEVEL, |
186 | "FFF9: Soft media error. Sector reassignment recommended"}, | 186 | "FFF9: Soft media error. Sector reassignment recommended"}, |
187 | {0x01180600, 0, 1, | 187 | {0x01180600, 0, IPR_DEFAULT_LOG_LEVEL, |
188 | "FFF7: Media error recovered by IOA rewrite procedures"}, | 188 | "FFF7: Media error recovered by IOA rewrite procedures"}, |
189 | {0x01418000, 0, 1, | 189 | {0x01418000, 0, IPR_DEFAULT_LOG_LEVEL, |
190 | "FF3D: Soft PCI bus error recovered by the IOA"}, | 190 | "FF3D: Soft PCI bus error recovered by the IOA"}, |
191 | {0x01440000, 1, 1, | 191 | {0x01440000, 1, IPR_DEFAULT_LOG_LEVEL, |
192 | "FFF6: Device hardware error recovered by the IOA"}, | 192 | "FFF6: Device hardware error recovered by the IOA"}, |
193 | {0x01448100, 0, 1, | 193 | {0x01448100, 0, IPR_DEFAULT_LOG_LEVEL, |
194 | "FFF6: Device hardware error recovered by the device"}, | 194 | "FFF6: Device hardware error recovered by the device"}, |
195 | {0x01448200, 1, 1, | 195 | {0x01448200, 1, IPR_DEFAULT_LOG_LEVEL, |
196 | "FF3D: Soft IOA error recovered by the IOA"}, | 196 | "FF3D: Soft IOA error recovered by the IOA"}, |
197 | {0x01448300, 0, 1, | 197 | {0x01448300, 0, IPR_DEFAULT_LOG_LEVEL, |
198 | "FFFA: Undefined device response recovered by the IOA"}, | 198 | "FFFA: Undefined device response recovered by the IOA"}, |
199 | {0x014A0000, 1, 1, | 199 | {0x014A0000, 1, IPR_DEFAULT_LOG_LEVEL, |
200 | "FFF6: Device bus error, message or command phase"}, | 200 | "FFF6: Device bus error, message or command phase"}, |
201 | {0x014A8000, 0, 1, | 201 | {0x014A8000, 0, IPR_DEFAULT_LOG_LEVEL, |
202 | "FFFE: Task Management Function failed"}, | 202 | "FFFE: Task Management Function failed"}, |
203 | {0x015D0000, 0, 1, | 203 | {0x015D0000, 0, IPR_DEFAULT_LOG_LEVEL, |
204 | "FFF6: Failure prediction threshold exceeded"}, | 204 | "FFF6: Failure prediction threshold exceeded"}, |
205 | {0x015D9200, 0, 1, | 205 | {0x015D9200, 0, IPR_DEFAULT_LOG_LEVEL, |
206 | "8009: Impending cache battery pack failure"}, | 206 | "8009: Impending cache battery pack failure"}, |
207 | {0x02040400, 0, 0, | 207 | {0x02040400, 0, 0, |
208 | "34FF: Disk device format in progress"}, | 208 | "34FF: Disk device format in progress"}, |
@@ -212,85 +212,85 @@ struct ipr_error_table_t ipr_error_table[] = { | |||
212 | "No ready, IOA shutdown"}, | 212 | "No ready, IOA shutdown"}, |
213 | {0x025A0000, 0, 0, | 213 | {0x025A0000, 0, 0, |
214 | "Not ready, IOA has been shutdown"}, | 214 | "Not ready, IOA has been shutdown"}, |
215 | {0x02670100, 0, 1, | 215 | {0x02670100, 0, IPR_DEFAULT_LOG_LEVEL, |
216 | "3020: Storage subsystem configuration error"}, | 216 | "3020: Storage subsystem configuration error"}, |
217 | {0x03110B00, 0, 0, | 217 | {0x03110B00, 0, 0, |
218 | "FFF5: Medium error, data unreadable, recommend reassign"}, | 218 | "FFF5: Medium error, data unreadable, recommend reassign"}, |
219 | {0x03110C00, 0, 0, | 219 | {0x03110C00, 0, 0, |
220 | "7000: Medium error, data unreadable, do not reassign"}, | 220 | "7000: Medium error, data unreadable, do not reassign"}, |
221 | {0x03310000, 0, 1, | 221 | {0x03310000, 0, IPR_DEFAULT_LOG_LEVEL, |
222 | "FFF3: Disk media format bad"}, | 222 | "FFF3: Disk media format bad"}, |
223 | {0x04050000, 0, 1, | 223 | {0x04050000, 0, IPR_DEFAULT_LOG_LEVEL, |
224 | "3002: Addressed device failed to respond to selection"}, | 224 | "3002: Addressed device failed to respond to selection"}, |
225 | {0x04080000, 1, 1, | 225 | {0x04080000, 1, IPR_DEFAULT_LOG_LEVEL, |
226 | "3100: Device bus error"}, | 226 | "3100: Device bus error"}, |
227 | {0x04080100, 0, 1, | 227 | {0x04080100, 0, IPR_DEFAULT_LOG_LEVEL, |
228 | "3109: IOA timed out a device command"}, | 228 | "3109: IOA timed out a device command"}, |
229 | {0x04088000, 0, 0, | 229 | {0x04088000, 0, 0, |
230 | "3120: SCSI bus is not operational"}, | 230 | "3120: SCSI bus is not operational"}, |
231 | {0x04088100, 0, 1, | 231 | {0x04088100, 0, IPR_DEFAULT_LOG_LEVEL, |
232 | "4100: Hard device bus fabric error"}, | 232 | "4100: Hard device bus fabric error"}, |
233 | {0x04118000, 0, 1, | 233 | {0x04118000, 0, IPR_DEFAULT_LOG_LEVEL, |
234 | "9000: IOA reserved area data check"}, | 234 | "9000: IOA reserved area data check"}, |
235 | {0x04118100, 0, 1, | 235 | {0x04118100, 0, IPR_DEFAULT_LOG_LEVEL, |
236 | "9001: IOA reserved area invalid data pattern"}, | 236 | "9001: IOA reserved area invalid data pattern"}, |
237 | {0x04118200, 0, 1, | 237 | {0x04118200, 0, IPR_DEFAULT_LOG_LEVEL, |
238 | "9002: IOA reserved area LRC error"}, | 238 | "9002: IOA reserved area LRC error"}, |
239 | {0x04320000, 0, 1, | 239 | {0x04320000, 0, IPR_DEFAULT_LOG_LEVEL, |
240 | "102E: Out of alternate sectors for disk storage"}, | 240 | "102E: Out of alternate sectors for disk storage"}, |
241 | {0x04330000, 1, 1, | 241 | {0x04330000, 1, IPR_DEFAULT_LOG_LEVEL, |
242 | "FFF4: Data transfer underlength error"}, | 242 | "FFF4: Data transfer underlength error"}, |
243 | {0x04338000, 1, 1, | 243 | {0x04338000, 1, IPR_DEFAULT_LOG_LEVEL, |
244 | "FFF4: Data transfer overlength error"}, | 244 | "FFF4: Data transfer overlength error"}, |
245 | {0x043E0100, 0, 1, | 245 | {0x043E0100, 0, IPR_DEFAULT_LOG_LEVEL, |
246 | "3400: Logical unit failure"}, | 246 | "3400: Logical unit failure"}, |
247 | {0x04408500, 0, 1, | 247 | {0x04408500, 0, IPR_DEFAULT_LOG_LEVEL, |
248 | "FFF4: Device microcode is corrupt"}, | 248 | "FFF4: Device microcode is corrupt"}, |
249 | {0x04418000, 1, 1, | 249 | {0x04418000, 1, IPR_DEFAULT_LOG_LEVEL, |
250 | "8150: PCI bus error"}, | 250 | "8150: PCI bus error"}, |
251 | {0x04430000, 1, 0, | 251 | {0x04430000, 1, 0, |
252 | "Unsupported device bus message received"}, | 252 | "Unsupported device bus message received"}, |
253 | {0x04440000, 1, 1, | 253 | {0x04440000, 1, IPR_DEFAULT_LOG_LEVEL, |
254 | "FFF4: Disk device problem"}, | 254 | "FFF4: Disk device problem"}, |
255 | {0x04448200, 1, 1, | 255 | {0x04448200, 1, IPR_DEFAULT_LOG_LEVEL, |
256 | "8150: Permanent IOA failure"}, | 256 | "8150: Permanent IOA failure"}, |
257 | {0x04448300, 0, 1, | 257 | {0x04448300, 0, IPR_DEFAULT_LOG_LEVEL, |
258 | "3010: Disk device returned wrong response to IOA"}, | 258 | "3010: Disk device returned wrong response to IOA"}, |
259 | {0x04448400, 0, 1, | 259 | {0x04448400, 0, IPR_DEFAULT_LOG_LEVEL, |
260 | "8151: IOA microcode error"}, | 260 | "8151: IOA microcode error"}, |
261 | {0x04448500, 0, 0, | 261 | {0x04448500, 0, 0, |
262 | "Device bus status error"}, | 262 | "Device bus status error"}, |
263 | {0x04448600, 0, 1, | 263 | {0x04448600, 0, IPR_DEFAULT_LOG_LEVEL, |
264 | "8157: IOA error requiring IOA reset to recover"}, | 264 | "8157: IOA error requiring IOA reset to recover"}, |
265 | {0x04448700, 0, 0, | 265 | {0x04448700, 0, 0, |
266 | "ATA device status error"}, | 266 | "ATA device status error"}, |
267 | {0x04490000, 0, 0, | 267 | {0x04490000, 0, 0, |
268 | "Message reject received from the device"}, | 268 | "Message reject received from the device"}, |
269 | {0x04449200, 0, 1, | 269 | {0x04449200, 0, IPR_DEFAULT_LOG_LEVEL, |
270 | "8008: A permanent cache battery pack failure occurred"}, | 270 | "8008: A permanent cache battery pack failure occurred"}, |
271 | {0x0444A000, 0, 1, | 271 | {0x0444A000, 0, IPR_DEFAULT_LOG_LEVEL, |
272 | "9090: Disk unit has been modified after the last known status"}, | 272 | "9090: Disk unit has been modified after the last known status"}, |
273 | {0x0444A200, 0, 1, | 273 | {0x0444A200, 0, IPR_DEFAULT_LOG_LEVEL, |
274 | "9081: IOA detected device error"}, | 274 | "9081: IOA detected device error"}, |
275 | {0x0444A300, 0, 1, | 275 | {0x0444A300, 0, IPR_DEFAULT_LOG_LEVEL, |
276 | "9082: IOA detected device error"}, | 276 | "9082: IOA detected device error"}, |
277 | {0x044A0000, 1, 1, | 277 | {0x044A0000, 1, IPR_DEFAULT_LOG_LEVEL, |
278 | "3110: Device bus error, message or command phase"}, | 278 | "3110: Device bus error, message or command phase"}, |
279 | {0x044A8000, 1, 1, | 279 | {0x044A8000, 1, IPR_DEFAULT_LOG_LEVEL, |
280 | "3110: SAS Command / Task Management Function failed"}, | 280 | "3110: SAS Command / Task Management Function failed"}, |
281 | {0x04670400, 0, 1, | 281 | {0x04670400, 0, IPR_DEFAULT_LOG_LEVEL, |
282 | "9091: Incorrect hardware configuration change has been detected"}, | 282 | "9091: Incorrect hardware configuration change has been detected"}, |
283 | {0x04678000, 0, 1, | 283 | {0x04678000, 0, IPR_DEFAULT_LOG_LEVEL, |
284 | "9073: Invalid multi-adapter configuration"}, | 284 | "9073: Invalid multi-adapter configuration"}, |
285 | {0x04678100, 0, 1, | 285 | {0x04678100, 0, IPR_DEFAULT_LOG_LEVEL, |
286 | "4010: Incorrect connection between cascaded expanders"}, | 286 | "4010: Incorrect connection between cascaded expanders"}, |
287 | {0x04678200, 0, 1, | 287 | {0x04678200, 0, IPR_DEFAULT_LOG_LEVEL, |
288 | "4020: Connections exceed IOA design limits"}, | 288 | "4020: Connections exceed IOA design limits"}, |
289 | {0x04678300, 0, 1, | 289 | {0x04678300, 0, IPR_DEFAULT_LOG_LEVEL, |
290 | "4030: Incorrect multipath connection"}, | 290 | "4030: Incorrect multipath connection"}, |
291 | {0x04679000, 0, 1, | 291 | {0x04679000, 0, IPR_DEFAULT_LOG_LEVEL, |
292 | "4110: Unsupported enclosure function"}, | 292 | "4110: Unsupported enclosure function"}, |
293 | {0x046E0000, 0, 1, | 293 | {0x046E0000, 0, IPR_DEFAULT_LOG_LEVEL, |
294 | "FFF4: Command to logical unit failed"}, | 294 | "FFF4: Command to logical unit failed"}, |
295 | {0x05240000, 1, 0, | 295 | {0x05240000, 1, 0, |
296 | "Illegal request, invalid request type or request packet"}, | 296 | "Illegal request, invalid request type or request packet"}, |
@@ -310,101 +310,101 @@ struct ipr_error_table_t ipr_error_table[] = { | |||
310 | "Illegal request, command sequence error"}, | 310 | "Illegal request, command sequence error"}, |
311 | {0x052C8000, 1, 0, | 311 | {0x052C8000, 1, 0, |
312 | "Illegal request, dual adapter support not enabled"}, | 312 | "Illegal request, dual adapter support not enabled"}, |
313 | {0x06040500, 0, 1, | 313 | {0x06040500, 0, IPR_DEFAULT_LOG_LEVEL, |
314 | "9031: Array protection temporarily suspended, protection resuming"}, | 314 | "9031: Array protection temporarily suspended, protection resuming"}, |
315 | {0x06040600, 0, 1, | 315 | {0x06040600, 0, IPR_DEFAULT_LOG_LEVEL, |
316 | "9040: Array protection temporarily suspended, protection resuming"}, | 316 | "9040: Array protection temporarily suspended, protection resuming"}, |
317 | {0x06288000, 0, 1, | 317 | {0x06288000, 0, IPR_DEFAULT_LOG_LEVEL, |
318 | "3140: Device bus not ready to ready transition"}, | 318 | "3140: Device bus not ready to ready transition"}, |
319 | {0x06290000, 0, 1, | 319 | {0x06290000, 0, IPR_DEFAULT_LOG_LEVEL, |
320 | "FFFB: SCSI bus was reset"}, | 320 | "FFFB: SCSI bus was reset"}, |
321 | {0x06290500, 0, 0, | 321 | {0x06290500, 0, 0, |
322 | "FFFE: SCSI bus transition to single ended"}, | 322 | "FFFE: SCSI bus transition to single ended"}, |
323 | {0x06290600, 0, 0, | 323 | {0x06290600, 0, 0, |
324 | "FFFE: SCSI bus transition to LVD"}, | 324 | "FFFE: SCSI bus transition to LVD"}, |
325 | {0x06298000, 0, 1, | 325 | {0x06298000, 0, IPR_DEFAULT_LOG_LEVEL, |
326 | "FFFB: SCSI bus was reset by another initiator"}, | 326 | "FFFB: SCSI bus was reset by another initiator"}, |
327 | {0x063F0300, 0, 1, | 327 | {0x063F0300, 0, IPR_DEFAULT_LOG_LEVEL, |
328 | "3029: A device replacement has occurred"}, | 328 | "3029: A device replacement has occurred"}, |
329 | {0x064C8000, 0, 1, | 329 | {0x064C8000, 0, IPR_DEFAULT_LOG_LEVEL, |
330 | "9051: IOA cache data exists for a missing or failed device"}, | 330 | "9051: IOA cache data exists for a missing or failed device"}, |
331 | {0x064C8100, 0, 1, | 331 | {0x064C8100, 0, IPR_DEFAULT_LOG_LEVEL, |
332 | "9055: Auxiliary cache IOA contains cache data needed by the primary IOA"}, | 332 | "9055: Auxiliary cache IOA contains cache data needed by the primary IOA"}, |
333 | {0x06670100, 0, 1, | 333 | {0x06670100, 0, IPR_DEFAULT_LOG_LEVEL, |
334 | "9025: Disk unit is not supported at its physical location"}, | 334 | "9025: Disk unit is not supported at its physical location"}, |
335 | {0x06670600, 0, 1, | 335 | {0x06670600, 0, IPR_DEFAULT_LOG_LEVEL, |
336 | "3020: IOA detected a SCSI bus configuration error"}, | 336 | "3020: IOA detected a SCSI bus configuration error"}, |
337 | {0x06678000, 0, 1, | 337 | {0x06678000, 0, IPR_DEFAULT_LOG_LEVEL, |
338 | "3150: SCSI bus configuration error"}, | 338 | "3150: SCSI bus configuration error"}, |
339 | {0x06678100, 0, 1, | 339 | {0x06678100, 0, IPR_DEFAULT_LOG_LEVEL, |
340 | "9074: Asymmetric advanced function disk configuration"}, | 340 | "9074: Asymmetric advanced function disk configuration"}, |
341 | {0x06678300, 0, 1, | 341 | {0x06678300, 0, IPR_DEFAULT_LOG_LEVEL, |
342 | "4040: Incomplete multipath connection between IOA and enclosure"}, | 342 | "4040: Incomplete multipath connection between IOA and enclosure"}, |
343 | {0x06678400, 0, 1, | 343 | {0x06678400, 0, IPR_DEFAULT_LOG_LEVEL, |
344 | "4041: Incomplete multipath connection between enclosure and device"}, | 344 | "4041: Incomplete multipath connection between enclosure and device"}, |
345 | {0x06678500, 0, 1, | 345 | {0x06678500, 0, IPR_DEFAULT_LOG_LEVEL, |
346 | "9075: Incomplete multipath connection between IOA and remote IOA"}, | 346 | "9075: Incomplete multipath connection between IOA and remote IOA"}, |
347 | {0x06678600, 0, 1, | 347 | {0x06678600, 0, IPR_DEFAULT_LOG_LEVEL, |
348 | "9076: Configuration error, missing remote IOA"}, | 348 | "9076: Configuration error, missing remote IOA"}, |
349 | {0x06679100, 0, 1, | 349 | {0x06679100, 0, IPR_DEFAULT_LOG_LEVEL, |
350 | "4050: Enclosure does not support a required multipath function"}, | 350 | "4050: Enclosure does not support a required multipath function"}, |
351 | {0x06690200, 0, 1, | 351 | {0x06690200, 0, IPR_DEFAULT_LOG_LEVEL, |
352 | "9041: Array protection temporarily suspended"}, | 352 | "9041: Array protection temporarily suspended"}, |
353 | {0x06698200, 0, 1, | 353 | {0x06698200, 0, IPR_DEFAULT_LOG_LEVEL, |
354 | "9042: Corrupt array parity detected on specified device"}, | 354 | "9042: Corrupt array parity detected on specified device"}, |
355 | {0x066B0200, 0, 1, | 355 | {0x066B0200, 0, IPR_DEFAULT_LOG_LEVEL, |
356 | "9030: Array no longer protected due to missing or failed disk unit"}, | 356 | "9030: Array no longer protected due to missing or failed disk unit"}, |
357 | {0x066B8000, 0, 1, | 357 | {0x066B8000, 0, IPR_DEFAULT_LOG_LEVEL, |
358 | "9071: Link operational transition"}, | 358 | "9071: Link operational transition"}, |
359 | {0x066B8100, 0, 1, | 359 | {0x066B8100, 0, IPR_DEFAULT_LOG_LEVEL, |
360 | "9072: Link not operational transition"}, | 360 | "9072: Link not operational transition"}, |
361 | {0x066B8200, 0, 1, | 361 | {0x066B8200, 0, IPR_DEFAULT_LOG_LEVEL, |
362 | "9032: Array exposed but still protected"}, | 362 | "9032: Array exposed but still protected"}, |
363 | {0x066B9100, 0, 1, | 363 | {0x066B9100, 0, IPR_DEFAULT_LOG_LEVEL, |
364 | "4061: Multipath redundancy level got better"}, | 364 | "4061: Multipath redundancy level got better"}, |
365 | {0x066B9200, 0, 1, | 365 | {0x066B9200, 0, IPR_DEFAULT_LOG_LEVEL, |
366 | "4060: Multipath redundancy level got worse"}, | 366 | "4060: Multipath redundancy level got worse"}, |
367 | {0x07270000, 0, 0, | 367 | {0x07270000, 0, 0, |
368 | "Failure due to other device"}, | 368 | "Failure due to other device"}, |
369 | {0x07278000, 0, 1, | 369 | {0x07278000, 0, IPR_DEFAULT_LOG_LEVEL, |
370 | "9008: IOA does not support functions expected by devices"}, | 370 | "9008: IOA does not support functions expected by devices"}, |
371 | {0x07278100, 0, 1, | 371 | {0x07278100, 0, IPR_DEFAULT_LOG_LEVEL, |
372 | "9010: Cache data associated with attached devices cannot be found"}, | 372 | "9010: Cache data associated with attached devices cannot be found"}, |
373 | {0x07278200, 0, 1, | 373 | {0x07278200, 0, IPR_DEFAULT_LOG_LEVEL, |
374 | "9011: Cache data belongs to devices other than those attached"}, | 374 | "9011: Cache data belongs to devices other than those attached"}, |
375 | {0x07278400, 0, 1, | 375 | {0x07278400, 0, IPR_DEFAULT_LOG_LEVEL, |
376 | "9020: Array missing 2 or more devices with only 1 device present"}, | 376 | "9020: Array missing 2 or more devices with only 1 device present"}, |
377 | {0x07278500, 0, 1, | 377 | {0x07278500, 0, IPR_DEFAULT_LOG_LEVEL, |
378 | "9021: Array missing 2 or more devices with 2 or more devices present"}, | 378 | "9021: Array missing 2 or more devices with 2 or more devices present"}, |
379 | {0x07278600, 0, 1, | 379 | {0x07278600, 0, IPR_DEFAULT_LOG_LEVEL, |
380 | "9022: Exposed array is missing a required device"}, | 380 | "9022: Exposed array is missing a required device"}, |
381 | {0x07278700, 0, 1, | 381 | {0x07278700, 0, IPR_DEFAULT_LOG_LEVEL, |
382 | "9023: Array member(s) not at required physical locations"}, | 382 | "9023: Array member(s) not at required physical locations"}, |
383 | {0x07278800, 0, 1, | 383 | {0x07278800, 0, IPR_DEFAULT_LOG_LEVEL, |
384 | "9024: Array not functional due to present hardware configuration"}, | 384 | "9024: Array not functional due to present hardware configuration"}, |
385 | {0x07278900, 0, 1, | 385 | {0x07278900, 0, IPR_DEFAULT_LOG_LEVEL, |
386 | "9026: Array not functional due to present hardware configuration"}, | 386 | "9026: Array not functional due to present hardware configuration"}, |
387 | {0x07278A00, 0, 1, | 387 | {0x07278A00, 0, IPR_DEFAULT_LOG_LEVEL, |
388 | "9027: Array is missing a device and parity is out of sync"}, | 388 | "9027: Array is missing a device and parity is out of sync"}, |
389 | {0x07278B00, 0, 1, | 389 | {0x07278B00, 0, IPR_DEFAULT_LOG_LEVEL, |
390 | "9028: Maximum number of arrays already exist"}, | 390 | "9028: Maximum number of arrays already exist"}, |
391 | {0x07278C00, 0, 1, | 391 | {0x07278C00, 0, IPR_DEFAULT_LOG_LEVEL, |
392 | "9050: Required cache data cannot be located for a disk unit"}, | 392 | "9050: Required cache data cannot be located for a disk unit"}, |
393 | {0x07278D00, 0, 1, | 393 | {0x07278D00, 0, IPR_DEFAULT_LOG_LEVEL, |
394 | "9052: Cache data exists for a device that has been modified"}, | 394 | "9052: Cache data exists for a device that has been modified"}, |
395 | {0x07278F00, 0, 1, | 395 | {0x07278F00, 0, IPR_DEFAULT_LOG_LEVEL, |
396 | "9054: IOA resources not available due to previous problems"}, | 396 | "9054: IOA resources not available due to previous problems"}, |
397 | {0x07279100, 0, 1, | 397 | {0x07279100, 0, IPR_DEFAULT_LOG_LEVEL, |
398 | "9092: Disk unit requires initialization before use"}, | 398 | "9092: Disk unit requires initialization before use"}, |
399 | {0x07279200, 0, 1, | 399 | {0x07279200, 0, IPR_DEFAULT_LOG_LEVEL, |
400 | "9029: Incorrect hardware configuration change has been detected"}, | 400 | "9029: Incorrect hardware configuration change has been detected"}, |
401 | {0x07279600, 0, 1, | 401 | {0x07279600, 0, IPR_DEFAULT_LOG_LEVEL, |
402 | "9060: One or more disk pairs are missing from an array"}, | 402 | "9060: One or more disk pairs are missing from an array"}, |
403 | {0x07279700, 0, 1, | 403 | {0x07279700, 0, IPR_DEFAULT_LOG_LEVEL, |
404 | "9061: One or more disks are missing from an array"}, | 404 | "9061: One or more disks are missing from an array"}, |
405 | {0x07279800, 0, 1, | 405 | {0x07279800, 0, IPR_DEFAULT_LOG_LEVEL, |
406 | "9062: One or more disks are missing from an array"}, | 406 | "9062: One or more disks are missing from an array"}, |
407 | {0x07279900, 0, 1, | 407 | {0x07279900, 0, IPR_DEFAULT_LOG_LEVEL, |
408 | "9063: Maximum number of functional arrays has been exceeded"}, | 408 | "9063: Maximum number of functional arrays has been exceeded"}, |
409 | {0x0B260000, 0, 0, | 409 | {0x0B260000, 0, 0, |
410 | "Aborted command, invalid descriptor"}, | 410 | "Aborted command, invalid descriptor"}, |
@@ -1607,7 +1607,7 @@ static void ipr_handle_log_data(struct ipr_ioa_cfg *ioa_cfg, | |||
1607 | /* Set indication we have logged an error */ | 1607 | /* Set indication we have logged an error */ |
1608 | ioa_cfg->errors_logged++; | 1608 | ioa_cfg->errors_logged++; |
1609 | 1609 | ||
1610 | if (ioa_cfg->log_level < IPR_DEFAULT_LOG_LEVEL) | 1610 | if (ioa_cfg->log_level < ipr_error_table[error_index].log_hcam) |
1611 | return; | 1611 | return; |
1612 | if (be32_to_cpu(hostrcb->hcam.length) > sizeof(hostrcb->hcam.u.raw)) | 1612 | if (be32_to_cpu(hostrcb->hcam.length) > sizeof(hostrcb->hcam.u.raw)) |
1613 | hostrcb->hcam.length = cpu_to_be32(sizeof(hostrcb->hcam.u.raw)); | 1613 | hostrcb->hcam.length = cpu_to_be32(sizeof(hostrcb->hcam.u.raw)); |