ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL);
                if ((ocp_data & FIFO_EMPTY) == FIFO_EMPTY)
                        break;
-               mdelay(1);
+               usleep_range(1000, 2000);
        }
 
        for (i = 0; i < 1000; i++) {
                if (ocp_read_word(tp, MCU_TYPE_PLA, PLA_TCR0) & TCR0_TX_EMPTY)
                        break;
-               mdelay(1);
+               usleep_range(1000, 2000);
        }
 
        for (i = 0; i < RTL8152_MAX_RX; i++)
        ocp_write_dword(tp, MCU_TYPE_USB, USB_BP_2, 0);
        ocp_write_dword(tp, MCU_TYPE_USB, USB_BP_4, 0);
        ocp_write_dword(tp, MCU_TYPE_USB, USB_BP_6, 0);
-       mdelay(3);
+       usleep_range(3000, 6000);
        ocp_write_word(tp, MCU_TYPE_PLA, PLA_BP_BA, 0);
        ocp_write_word(tp, MCU_TYPE_USB, USB_BP_BA, 0);
 }
                ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL);
                if (ocp_data & LINK_LIST_READY)
                        break;
-               mdelay(1);
+               usleep_range(1000, 2000);
        }
 
        ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_SFF_STS_7);
                ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL);
                if (ocp_data & LINK_LIST_READY)
                        break;
-               mdelay(1);
+               usleep_range(1000, 2000);
        }
 
        rtl8152_nic_reset(tp);
                ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL);
                if (ocp_data & LINK_LIST_READY)
                        break;
-               mdelay(1);
+               usleep_range(1000, 2000);
        }
 
        ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_SFF_STS_7);
                ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL);
                if (ocp_data & LINK_LIST_READY)
                        break;
-               mdelay(1);
+               usleep_range(1000, 2000);
        }
 
        ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, RTL8152_RMS);
                ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL);
                if (ocp_data & LINK_LIST_READY)
                        break;
-               mdelay(1);
+               usleep_range(1000, 2000);
        }
 
        ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_SFF_STS_7);
                ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL);
                if (ocp_data & LINK_LIST_READY)
                        break;
-               mdelay(1);
+               usleep_range(1000, 2000);
        }
 
        ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_CPCR);
                ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL);
                if (ocp_data & LINK_LIST_READY)
                        break;
-               mdelay(1);
+               usleep_range(1000, 2000);
        }
 
        ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_SFF_STS_7);
                ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL);
                if (ocp_data & LINK_LIST_READY)
                        break;
-               mdelay(1);
+               usleep_range(1000, 2000);
        }
 
        ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, RTL8153_RMS);