This paper investigates the interaction between end-to-end flow control and medium access control (MAC)-layer scheduling on wireless links. We consider a wireless network with multiple users receiving information from a common access point; each user suffers fading and a scheduler allocates the channel based on channel quality but is subject to fairness and latency considerations. We show that the fairness property of the scheduler Is compromised by the transport-layer flow control of Transmission Control Protocol (TCP) New Reno. We provide a receiver-side control algorithm, CLAMP, that remedies this situation. CLAMP works at a receiver to control a TCP sender by setting the TCP receiver's advertised window limit, and this allows the scheduler to allocate bandwidth fairly between the users.