pTxTS->num = count;
                // The timers for the operation of Traffic Stream and Block Ack.
                // DLS related timer will be add here in the future!!
-               init_timer(&pTxTS->TsCommonInfo.SetupTimer);
-               pTxTS->TsCommonInfo.SetupTimer.data = (unsigned long)pTxTS;
-               pTxTS->TsCommonInfo.SetupTimer.function = TsSetupTimeOut;
-
-               init_timer(&pTxTS->TsCommonInfo.InactTimer);
-               pTxTS->TsCommonInfo.InactTimer.data = (unsigned long)pTxTS;
-               pTxTS->TsCommonInfo.InactTimer.function = TsInactTimeout;
-
-               init_timer(&pTxTS->TsAddBaTimer);
-               pTxTS->TsAddBaTimer.data = (unsigned long)pTxTS;
-               pTxTS->TsAddBaTimer.function = TsAddBaProcess;
-
-               init_timer(&pTxTS->TxPendingBARecord.Timer);
-               pTxTS->TxPendingBARecord.Timer.data = (unsigned long)pTxTS;
-               pTxTS->TxPendingBARecord.Timer.function = BaSetupTimeOut;
-
-               init_timer(&pTxTS->TxAdmittedBARecord.Timer);
-               pTxTS->TxAdmittedBARecord.Timer.data = (unsigned long)pTxTS;
-               pTxTS->TxAdmittedBARecord.Timer.function = TxBaInactTimeout;
-
+               setup_timer(&pTxTS->TsCommonInfo.SetupTimer, TsSetupTimeOut,
+                           (unsigned long)pTxTS);
+               setup_timer(&pTxTS->TsCommonInfo.InactTimer, TsInactTimeout,
+                           (unsigned long)pTxTS);
+               setup_timer(&pTxTS->TsAddBaTimer, TsAddBaProcess,
+                           (unsigned long)pTxTS);
+               setup_timer(&pTxTS->TxPendingBARecord.Timer, BaSetupTimeOut,
+                           (unsigned long)pTxTS);
+               setup_timer(&pTxTS->TxAdmittedBARecord.Timer,
+                           TxBaInactTimeout, (unsigned long)pTxTS);
                ResetTxTsEntry(pTxTS);
                list_add_tail(&pTxTS->TsCommonInfo.List, &ieee->Tx_TS_Unused_List);
                pTxTS++;
        {
                pRxTS->num = count;
                INIT_LIST_HEAD(&pRxTS->RxPendingPktList);
-
-               init_timer(&pRxTS->TsCommonInfo.SetupTimer);
-               pRxTS->TsCommonInfo.SetupTimer.data = (unsigned long)pRxTS;
-               pRxTS->TsCommonInfo.SetupTimer.function = TsSetupTimeOut;
-
-               init_timer(&pRxTS->TsCommonInfo.InactTimer);
-               pRxTS->TsCommonInfo.InactTimer.data = (unsigned long)pRxTS;
-               pRxTS->TsCommonInfo.InactTimer.function = TsInactTimeout;
-
-               init_timer(&pRxTS->RxAdmittedBARecord.Timer);
-               pRxTS->RxAdmittedBARecord.Timer.data = (unsigned long)pRxTS;
-               pRxTS->RxAdmittedBARecord.Timer.function = RxBaInactTimeout;
-
-               init_timer(&pRxTS->RxPktPendingTimer);
-               pRxTS->RxPktPendingTimer.data = (unsigned long)pRxTS;
-               pRxTS->RxPktPendingTimer.function = RxPktPendingTimeout;
-
+               setup_timer(&pRxTS->TsCommonInfo.SetupTimer, TsSetupTimeOut,
+                           (unsigned long)pRxTS);
+               setup_timer(&pRxTS->TsCommonInfo.InactTimer, TsInactTimeout,
+                           (unsigned long)pRxTS);
+               setup_timer(&pRxTS->RxAdmittedBARecord.Timer,
+                           RxBaInactTimeout, (unsigned long)pRxTS);
+               setup_timer(&pRxTS->RxPktPendingTimer, RxPktPendingTimeout,
+                           (unsigned long)pRxTS);
                ResetRxTsEntry(pRxTS);
                list_add_tail(&pRxTS->TsCommonInfo.List, &ieee->Rx_TS_Unused_List);
                pRxTS++;