Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.18 41 lines 1.1 kB view raw
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 6 * 7 */ 8 9#define PRINTK_HEADER "dasd_erp(9336)" 10 11#include "dasd_int.h" 12 13 14/* 15 * DASD_9336_ERP_EXAMINE 16 * 17 * DESCRIPTION 18 * Checks only for fatal/no/recover error. 19 * A detailed examination of the sense data is done later outside 20 * the interrupt handler. 21 * 22 * The logic is based on the 'IBM 3880 Storage Control Reference' manual 23 * 'Chapter 7. 9336 Sense Data'. 24 * 25 * RETURN VALUES 26 * dasd_era_none no error 27 * dasd_era_fatal for all fatal (unrecoverable errors) 28 * dasd_era_recover for all others. 29 */ 30dasd_era_t 31dasd_9336_erp_examine(struct dasd_ccw_req * cqr, struct irb * irb) 32{ 33 /* check for successful execution first */ 34 if (irb->scsw.cstat == 0x00 && 35 irb->scsw.dstat == (DEV_STAT_CHN_END | DEV_STAT_DEV_END)) 36 return dasd_era_none; 37 38 /* examine the 24 byte sense data */ 39 return dasd_era_recover; 40 41} /* END dasd_9336_erp_examine */