When the enic was disabled, link notification was correctly disabled
in the NIC but the software indicator that it was disabled was not
updated (vdev->notify_pa not set to 0). When the link came back up,
enic did not re-enable notification in the NIC.
This affected bonding when a enic slave device link bounced.
The fix is to unconditionally enable notification when the enic is
enabled.
Fixes: 9913fbb91df0 ("enic/base: common code")
Signed-off-by: John Daley <johndale@cisco.com>
Reviewed-by: Nelson Escobar <neescoba@cisco.com>
static u32 instance;
if (vdev->notify || vdev->notify_pa) {
- pr_warn("notify block %p still allocated.\n" \
- "Ignore if restarting port\n", vdev->notify);
- return -EINVAL;
+ return vnic_dev_notify_setcmd(vdev, vdev->notify,
+ vdev->notify_pa, intr);
}
-
if (!vnic_dev_in_reset(vdev)) {
snprintf((char *)name, sizeof(name),
"vnic_notify-%d", instance++);