In a skillet, cook the bacon over medium-low heat until it's crisp. Drain on paper towels. Crumble the bacon.
In a large saucepan, cook onion in butter over medium heat until tender. Stir in flour, salt, and pepper. Stir in the milk all at once. Cook and stir over medium heat until bubbly. Cook and stir for 1 minute more.
Add hash brown potatoes, whole-kernel corn, cream-style corn, and reserved bacon. Cook and stir until potatoes are tender and soup is heated through. Makes 5 side-dish servings.