In this paper, a queueing system with two priority classes of customers is investigated. In the queueing system, customers of high priority can preempt the service of customers of low priority. Customers can wait in buffers of finite size. A congestion control mechanism is proposed to model various practical problems. The steady-state probabilities are computed with the help of the framework of quasi-birth-death processes using the theory of generalized invariant subspace. Performance measures of interest are also derived and demonstrated by numerical results.