In this paper, we propose an uplink channel- and buffer-aware scheduling and resource allocation algorithm for a multi-cell LTE-A network that exploits the number of bits waiting for transmission in each user's buffer, referred to as buffer length, in addition to the wireless channel state information. The algorithm also takes into account the constraints imposed by the 3GPP standards on how the radio Resource Blocks (RBs) are allocated to the users in an LTE-A uplink deploying the Single Carrier Frequency Division Multiple Access (SCFDMA) scheme. These constraints state that a RB can only be assigned to one user and that all RBs assigned to the same user should be adjacent and have the same Modulation and Coding Scheme (MCS). Simulation results show that the proposed algorithm outperforms the existing schemes by at least 35% in terms of the system throughput.