]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
net: hisilicon: hns: Replace mdelay() with msleep()
authorJia-Ju Bai <baijiaju1990@gmail.com>
Fri, 27 Jul 2018 08:01:41 +0000 (16:01 +0800)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Mon, 14 Jan 2019 09:28:55 +0000 (09:28 +0000)
BugLink: https://bugs.launchpad.net/bugs/1810457
hns_ppe_common_init_hw() and hns_xgmac_init() are never
called in atomic context.
They call mdelay() to busily wait, which is not necessary.
mdelay() can be replaced with msleep().

This is found by a static analysis tool named DCNS written by myself.

Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 89036f233a45d8d17c2de94850bd5e63f185da3d)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c
drivers/net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c

index 6092ce125284a90f5f596a23287665d36879a4a2..0942e4916d9d0d1b0b78958481ea099e66e59639 100644 (file)
@@ -204,9 +204,9 @@ static int hns_ppe_common_init_hw(struct ppe_common_cb *ppe_common)
        enum dsaf_mode dsaf_mode = dsaf_dev->dsaf_mode;
 
        dsaf_dev->misc_op->ppe_comm_srst(dsaf_dev, 0);
-       mdelay(100);
+       msleep(100);
        dsaf_dev->misc_op->ppe_comm_srst(dsaf_dev, 1);
-       mdelay(100);
+       msleep(100);
 
        if (ppe_common->ppe_mode == PPE_COMMON_MODE_SERVICE) {
                switch (dsaf_mode) {
index 40711af5bd76bce0cd8dcbfddc68ee318313bf57..ba4316910dea1726da855c13b78e95bb6bd36a3c 100644 (file)
@@ -215,10 +215,10 @@ static void hns_xgmac_init(void *mac_drv)
        u32 port = drv->mac_id;
 
        dsaf_dev->misc_op->xge_srst(dsaf_dev, port, 0);
-       mdelay(100);
+       msleep(100);
        dsaf_dev->misc_op->xge_srst(dsaf_dev, port, 1);
 
-       mdelay(100);
+       msleep(100);
        hns_xgmac_lf_rf_control_init(drv);
        hns_xgmac_exc_irq_en(drv, 0);