The initial TCP Tahoe version uses the slow-start algorithm to deal with flow control and congestion avoidance. The later Reno version deploys both fast-retransmit and fast-recovery algorithms. Traditionally a segment loss is considered as owing to the network congestion. However, a packet loss may be caused by some other reason such as a transmission error in the wireless link. Due to this reason, we design a mechanism that subdivides the congestion control mechanism into two parts, the packet loss indication and the loss recovery. Regarding the former, we no longer treat the packet loss caused by the transmission error as an indication of network congestion. While for the latter, we proposed a modified scoreboard algorithm in TCP FACK to quickly recover the packet loss and prevent the retransmitted packet from being lost again.