dasd_9336_erp.c 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. * $Revision: 1.8 $
  8. */
  9. #define PRINTK_HEADER "dasd_erp(9336)"
  10. #include "dasd_int.h"
  11. /*
  12. * DASD_9336_ERP_EXAMINE
  13. *
  14. * DESCRIPTION
  15. * Checks only for fatal/no/recover error.
  16. * A detailed examination of the sense data is done later outside
  17. * the interrupt handler.
  18. *
  19. * The logic is based on the 'IBM 3880 Storage Control Reference' manual
  20. * 'Chapter 7. 9336 Sense Data'.
  21. *
  22. * RETURN VALUES
  23. * dasd_era_none no error
  24. * dasd_era_fatal for all fatal (unrecoverable errors)
  25. * dasd_era_recover for all others.
  26. */
  27. dasd_era_t
  28. dasd_9336_erp_examine(struct dasd_ccw_req * cqr, struct irb * irb)
  29. {
  30. /* check for successful execution first */
  31. if (irb->scsw.cstat == 0x00 &&
  32. irb->scsw.dstat == (DEV_STAT_CHN_END | DEV_STAT_DEV_END))
  33. return dasd_era_none;
  34. /* examine the 24 byte sense data */
  35. return dasd_era_recover;
  36. } /* END dasd_9336_erp_examine */
  37. /*
  38. * Overrides for Emacs so that we follow Linus's tabbing style.
  39. * Emacs will notice this stuff at the end of the file and automatically
  40. * adjust the settings for this buffer only. This must remain at the end
  41. * of the file.
  42. * ---------------------------------------------------------------------------
  43. * Local variables:
  44. * c-indent-level: 4
  45. * c-brace-imaginary-offset: 0
  46. * c-brace-offset: -4
  47. * c-argdecl-indent: 4
  48. * c-label-offset: -4
  49. * c-continued-statement-offset: 4
  50. * c-continued-brace-offset: 0
  51. * indent-tabs-mode: 1
  52. * tab-width: 8
  53. * End:
  54. */