Linux-2.6.12-rc2
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / drivers / s390 / block / dasd_9336_erp.c
blob01e87170a3a24e20fddf75ce22c6c3555620a20a
1 /*
2 * File...........: linux/drivers/s390/block/dasd_9336_erp.c
3 * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com>
4 * Bugreports.to..: <Linux390@de.ibm.com>
5 * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 2000
7 * $Revision: 1.8 $
8 */
10 #define PRINTK_HEADER "dasd_erp(9336)"
12 #include "dasd_int.h"
16 * DASD_9336_ERP_EXAMINE
18 * DESCRIPTION
19 * Checks only for fatal/no/recover error.
20 * A detailed examination of the sense data is done later outside
21 * the interrupt handler.
23 * The logic is based on the 'IBM 3880 Storage Control Reference' manual
24 * 'Chapter 7. 9336 Sense Data'.
26 * RETURN VALUES
27 * dasd_era_none no error
28 * dasd_era_fatal for all fatal (unrecoverable errors)
29 * dasd_era_recover for all others.
31 dasd_era_t
32 dasd_9336_erp_examine(struct dasd_ccw_req * cqr, struct irb * irb)
34 /* check for successful execution first */
35 if (irb->scsw.cstat == 0x00 &&
36 irb->scsw.dstat == (DEV_STAT_CHN_END | DEV_STAT_DEV_END))
37 return dasd_era_none;
39 /* examine the 24 byte sense data */
40 return dasd_era_recover;
42 } /* END dasd_9336_erp_examine */
45 * Overrides for Emacs so that we follow Linus's tabbing style.
46 * Emacs will notice this stuff at the end of the file and automatically
47 * adjust the settings for this buffer only. This must remain at the end
48 * of the file.
49 * ---------------------------------------------------------------------------
50 * Local variables:
51 * c-indent-level: 4
52 * c-brace-imaginary-offset: 0
53 * c-brace-offset: -4
54 * c-argdecl-indent: 4
55 * c-label-offset: -4
56 * c-continued-statement-offset: 4
57 * c-continued-brace-offset: 0
58 * indent-tabs-mode: 1
59 * tab-width: 8
60 * End: