Nodes in a cognitive radio mesh network may select from a set of available channels to use provided they do not interfere with primary users. This ability can improve overall network performance but introduces the question of how best to use these channels. This paper addresses the following specific problem: given a routing path P, choose which channels each link in P should use and their transmission schedule so as to maximize the end-to-end data flow rate (throughput) supported by the entire path. This problem is relevant to applications such as streaming video or data where a connection may be long lasting and require a high constant throughput. The problem is hard to due the presence of both intra-flow and inter-flow interference. We have developed a new constant-factor approximation algorithm for this problem. If certain natural conditions on the path are met, the performance guarantee is 1/4 of optimal. It has been shown by simulation results that the end-to-end throughput given by the proposed algorithm is often within 90% or better of optimal.