RDMA/cxgb4: Dispatch FATAL event on EEH errors

This at least kicks the user mode applications that are watching for
device events.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
Steve Wise 2011-03-11 22:30:53 +00:00 committed by Roland Dreier
parent b48f3b9c10
commit 767fbe8151
1 changed files with 9 additions and 1 deletions

View File

@ -522,8 +522,16 @@ static int c4iw_uld_state_change(void *handle, enum cxgb4_state new_state)
case CXGB4_STATE_START_RECOVERY:
printk(KERN_INFO MOD "%s: Fatal Error\n",
pci_name(dev->rdev.lldi.pdev));
if (dev->registered)
dev->rdev.flags |= T4_FATAL_ERROR;
if (dev->registered) {
struct ib_event event;
memset(&event, 0, sizeof event);
event.event = IB_EVENT_DEVICE_FATAL;
event.device = &dev->ibdev;
ib_dispatch_event(&event);
c4iw_unregister_device(dev);
}
break;
case CXGB4_STATE_DETACH:
printk(KERN_INFO MOD "%s: Detach\n",