Bring a large pot of lightly salted water to a boil. Add linguine and cook until tender, about 8 minutes. Drain.
Meanwhile, melt butter in a large frypan over medium heat. Add onion and mushrooms and cook until tender. Remove the onions and mushrooms from the frypan with a slotted spoon; set aside.
Add chicken pieces to the pan and sprinkle with garlic. Cook and stir until evenly browned and cooked through.
Whisk the flour and salt into the pan drippings until smooth. Gradually whisk in the chicken stock and simmer over low heat until slightly thickened. Return the mushrooms and garlic to the pan and stir in sour cream. Cook until heated through but do not boil. Serve over linguine.