IEEE 802.11 Wireless Local Area Network (WLAN) PHYsical Layer (PHY) offers multiple data rates. In multi-rate WLANs, 802.11 Distributed Coordination Function (DCF) presents the phenomenon so called "performance anomaly": when some hosts transmit at lower data rates, throughput of others at high rates will be restricted within the lowest rate, leading to the degradation of overall performance. Therefore, the link adaptation scheme for 802.11 WLAN should consider not only throughput of the observed host but also system throughput in order to optimize the overall performance. In this paper we propose a cross-layer link adaptation algorithm which improves system throughput by regarding the situation of PHY rate degradation more thoughtfully and critically, and meanwhile compensates the throughput of hosts with bad link qualities by applying differentiated channel access parameters. Simulation results demonstrate the effectiveness of the propose algorithm.