dasd_9336_erp.c
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  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. #include <asm/ccwcache.h>
  8. #include "dasd_int.h"
  9. #include "dasd_9336_erp.h"
  10. #ifdef PRINTK_HEADER
  11. #undef PRINTK_HEADER
  12. #define PRINTK_HEADER "dasd_erp(9336)"
  13. #endif /* PRINTK_HEADER */
  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.  */
  30. dasd_era_t dasd_9336_erp_examine (ccw_req_t * cqr, devstat_t * stat)
  31. {
  32. /* check for successful execution first */
  33. if (stat->cstat == 0x00 &&
  34.     stat->dstat == (DEV_STAT_CHN_END | DEV_STAT_DEV_END))
  35.     return dasd_era_none;
  36. /* examine the 24 byte sense data */
  37. return dasd_era_recover;
  38. } /* END dasd_9336_erp_examine */
  39. /*
  40.  * Overrides for Emacs so that we follow Linus's tabbing style.
  41.  * Emacs will notice this stuff at the end of the file and automatically
  42.  * adjust the settings for this buffer only.  This must remain at the end
  43.  * of the file.
  44.  * ---------------------------------------------------------------------------
  45.  * Local variables:
  46.  * c-indent-level: 4 
  47.  * c-brace-imaginary-offset: 0
  48.  * c-brace-offset: -4
  49.  * c-argdecl-indent: 4
  50.  * c-label-offset: -4
  51.  * c-continued-statement-offset: 4
  52.  * c-continued-brace-offset: 0
  53.  * indent-tabs-mode: nil
  54.  * tab-width: 8
  55.  * End:
  56.  */