• Sivakumar Subramani's avatar
    [S2IO]: Handle and monitor all of the device errors and alarms · 8116f3cf
    Sivakumar Subramani authored
    - Added support to poll entire set of device errors and alarams.
    - A note on how device errors and alarms are handled:
    - The adapter will automatically recover from uncorrectable ECC errors.
      Packets containing corrupted data will be dropped (not transmitted) or tagged
      as invalid before being passed to the host.
    - The adapter cannot recover from any internal state machine errors. A state
      machine error requires a device reset.
    - Any internal error that could potentially result in .store trampling.
      (undesirable PCI behaviour)is tagged as a "serious error". In such cases
      the adapter will give up its ability to be a bus master. In this situation
      the host will still be able to read internal device registers in order to
      generate an error report. A device reset is necessary to return to normal
      operation.
    - In the event of a pcix data parity error, the adapter will automatically
      disable itself. Adapter_En will automatically transition from '1' to '0' and
      the adapter will enter its clean-up routine. Once the device has achieved
      quiescence, an adapter reset should be performed.
    - Replaced alarm_intr_handler() with s2io_handle_errors().
    - Added statistic counters to monitor the alarms.
    
    [ Fix warnings wrt. do_s2io_chk_alarm_bit(), Callers pass in an
      "unsigned long long *" but the function takes a "u64 *" which is
      different on many 64-bit platforms. -DaveM ]
    Signed-off-by: default avatarSivakumar Subramani <sivakumar.subramani@neterion.com>
    Signed-off-by: default avatarSantosh Rastapur <santosh.rastapur@neterion.com>
    Signed-off-by: default avatarRamkrishna Vepa <ram.vepa@neterion.com>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    8116f3cf
s2io.c 234 KB