In this paper we propose a model predictive control scheme for discrete-time linear invariant systems based on inexact numerical optimization algorithms. We assume that the solution of the associated quadratic program produced by some numerical algorithm is possibly neither optimal nor feasible, but the algorithm is able to provide estimates on primal suboptimality and primal feasibility violation. By adaptively tightening the complicating constraints we can ensure the primal feasibility of the approximate solutions generated by the algorithm. We derive a control strategy that has the following properties: the constraints on the states and inputs are satisfied, asymptotic stability of the closed-loop system is guaranteed, and the number of iterations needed for a desired level of suboptimality can be determined. The proposed method is illustrated using a simulated longitudinal flight control problem.