The high demand for wireless Internet connectivity has driven the development of highly efficient radio link technologies. However, their performance can be compromised by inadvertent interactions with the higher-layer TCP flow control protocol. Maximizing the performance of wireless links requires that mechanisms operating at every layer of the protocol stack interact efficiently. This article provides a brief tutorial of some of these radio link enhancements. It then outlines how higher-layer flow control protocols should behave, and provides techniques for taming the behavior of TCP, to ensure that the performance of lower-layer enhancements is not compromised.