Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / drivers / net / qlcnic / qlcnic_init.c
index 9d5bee0..ee8a398 100644 (file)
@@ -1303,7 +1303,8 @@ qlcnic_handle_linkevent(struct qlcnic_adapter *adapter,
                dev_info(&netdev->dev, "unsupported cable length %d\n",
                                cable_len);
 
-       if (!link_status && (lb_status == 1))
+       if (!link_status && (lb_status == QLCNIC_ILB_MODE ||
+           lb_status == QLCNIC_ELB_MODE))
                adapter->ahw->loopback_state |= QLCNIC_LINKEVENT;
 
        qlcnic_advert_link_change(adapter, link_status);
@@ -1353,10 +1354,16 @@ qlcnic_handle_fw_message(int desc_cnt, int index,
                        break;
                case 1:
                        dev_info(dev, "loopback already in progress\n");
+                       adapter->diag_cnt = -QLCNIC_TEST_IN_PROGRESS;
+                       break;
+               case 2:
+                       dev_info(dev, "loopback cable is not connected\n");
+                       adapter->diag_cnt = -QLCNIC_LB_CABLE_NOT_CONN;
                        break;
                default:
                        dev_info(dev, "loopback configure request failed,"
                                        " ret %x\n", ret);
+                       adapter->diag_cnt = -QLCNIC_UNDEFINED_ERROR;
                        break;
                }
                break;