diff options
author | Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> | 2010-12-02 15:41:23 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-03 12:33:20 -0500 |
commit | 97319a270da37a5eab14a770f1417d8229245270 (patch) | |
tree | b44c0a44d1ee6f7dc05fdd2a4e03b6a6037639f5 /drivers/net/qlcnic/qlcnic_main.c | |
parent | 7e300bc8e6736d41e7b92978f415572ac60fd59b (diff) |
qlcnic: Disable loopback support
Loopback mode can not be supported in CNA mode. Removing it until FW is fixed.
Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qlcnic/qlcnic_main.c')
-rw-r--r-- | drivers/net/qlcnic/qlcnic_main.c | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c index 899df5a81fda..08d4b37f246c 100644 --- a/drivers/net/qlcnic/qlcnic_main.c +++ b/drivers/net/qlcnic/qlcnic_main.c | |||
@@ -2859,61 +2859,6 @@ qlcnic_set_npar_non_operational(struct qlcnic_adapter *adapter) | |||
2859 | qlcnic_api_unlock(adapter); | 2859 | qlcnic_api_unlock(adapter); |
2860 | } | 2860 | } |
2861 | 2861 | ||
2862 | /* Caller should held RESETTING bit. | ||
2863 | * This should be call in sync with qlcnic_request_quiscent_mode. | ||
2864 | */ | ||
2865 | void qlcnic_clear_quiscent_mode(struct qlcnic_adapter *adapter) | ||
2866 | { | ||
2867 | qlcnic_clr_drv_state(adapter); | ||
2868 | qlcnic_api_lock(adapter); | ||
2869 | QLCWR32(adapter, QLCNIC_CRB_DEV_STATE, QLCNIC_DEV_READY); | ||
2870 | qlcnic_api_unlock(adapter); | ||
2871 | } | ||
2872 | |||
2873 | /* Caller should held RESETTING bit. | ||
2874 | */ | ||
2875 | int qlcnic_request_quiscent_mode(struct qlcnic_adapter *adapter) | ||
2876 | { | ||
2877 | u8 timeo = adapter->dev_init_timeo / 2; | ||
2878 | u32 state; | ||
2879 | |||
2880 | if (qlcnic_api_lock(adapter)) | ||
2881 | return -EIO; | ||
2882 | |||
2883 | state = QLCRD32(adapter, QLCNIC_CRB_DEV_STATE); | ||
2884 | if (state != QLCNIC_DEV_READY) | ||
2885 | return -EIO; | ||
2886 | |||
2887 | QLCWR32(adapter, QLCNIC_CRB_DEV_STATE, QLCNIC_DEV_NEED_QUISCENT); | ||
2888 | qlcnic_api_unlock(adapter); | ||
2889 | QLCDB(adapter, DRV, "NEED QUISCENT state set\n"); | ||
2890 | qlcnic_idc_debug_info(adapter, 0); | ||
2891 | |||
2892 | qlcnic_set_drv_state(adapter, QLCNIC_DEV_NEED_QUISCENT); | ||
2893 | |||
2894 | do { | ||
2895 | msleep(2000); | ||
2896 | state = QLCRD32(adapter, QLCNIC_CRB_DEV_STATE); | ||
2897 | if (state == QLCNIC_DEV_QUISCENT) | ||
2898 | return 0; | ||
2899 | if (!qlcnic_check_drv_state(adapter)) { | ||
2900 | if (qlcnic_api_lock(adapter)) | ||
2901 | return -EIO; | ||
2902 | QLCWR32(adapter, QLCNIC_CRB_DEV_STATE, | ||
2903 | QLCNIC_DEV_QUISCENT); | ||
2904 | qlcnic_api_unlock(adapter); | ||
2905 | QLCDB(adapter, DRV, "QUISCENT mode set\n"); | ||
2906 | return 0; | ||
2907 | } | ||
2908 | } while (--timeo); | ||
2909 | |||
2910 | dev_err(&adapter->pdev->dev, "Failed to quiesce device, DRV_STATE=%08x" | ||
2911 | " DRV_ACTIVE=%08x\n", QLCRD32(adapter, QLCNIC_CRB_DRV_STATE), | ||
2912 | QLCRD32(adapter, QLCNIC_CRB_DRV_ACTIVE)); | ||
2913 | qlcnic_clear_quiscent_mode(adapter); | ||
2914 | return -EIO; | ||
2915 | } | ||
2916 | |||
2917 | /*Transit to RESET state from READY state only */ | 2862 | /*Transit to RESET state from READY state only */ |
2918 | static void | 2863 | static void |
2919 | qlcnic_dev_request_reset(struct qlcnic_adapter *adapter) | 2864 | qlcnic_dev_request_reset(struct qlcnic_adapter *adapter) |