aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ipr.c
diff options
context:
space:
mode:
authorBrian King <brking@linux.vnet.ibm.com>2007-03-29 13:43:30 -0400
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-04-01 12:18:11 -0400
commit933916f365f9ef1268c058bfaba2d4dcf26e4fd0 (patch)
tree801d8cd673ae48f6b1edb96c7fa1e6c219e977b0 /drivers/scsi/ipr.c
parenta9aedb098437655b7b78d66e0e28405830cbdbef (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.c192
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 */
165static const 165static const
166struct ipr_error_table_t ipr_error_table[] = { 166struct 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));