I'm going to go over the various causes for hair loss first and then discuss your dog's specific condition. Unfortunately, there are many conditions that can cause a dog to experience hair loss including ringworm, mange, hypothyroidism, cushing disease and allergies.
Ringworm can have a scaly reddish rash around the edges of the bare patches though there can be a rash in the bare area as well. Any over the counter antifungal cream for ringworm will work on this. The cream should be applied to an area slightly larger and for about a week after it appears to have cleared up. There are two types of mange and mange is actually caused by mites. Usually hair loss starts in specific areas of the body before spreading to other areas. Allergies are a frequent cause of scratching and hair loss and an be caused by many different things. Treating any problem without knowing for sure what it is causes a delay in the treatment of the real problem if your first guess is wrong. I really suggest you have your Vet examine the areas and diagnose this. Below are websites that will go into more detail on these conditions.
Here is a website on Ringworm:
Here is two on Mange.
Hypothyroidism and cushing on these pages:
You can read up on allergies here:
If you suspect an allergy condition is to blame, you can give your dog Benadryl up to 2mg per pound every 8 hours.
There might be a secondary skin condition in addition to the allergy such as staph dermatitis or yeast dermatitis. Staph usually occurs on the lower regions of your pet and tends to have small pimple type bumps. Shampoo containing Chlorhexiderm and/or Oatmeal can help with this condition though it does not cure the allergy. Yeast typically shows as a greasy area that has a sweet musty odor. Sometimes the skin can become inflamed, darker and thickened due to itching. Yeast likes areas such as between toes, armpits and ears. Selsun Blue Shampoo can help with Yeast dermatitis. When shampooing, lather and leave on 15 minutes before rinsing. These shampoos are not meant to be a cure, just a relief until your pet can see a Vet.
There is also a condition called alopecia which is basically hair loss. You can read all about it in this article:
Some treatment methods for this are discussed on the following site. You might want to discuss this possibility with your vet.
So it sounds like it might indeed have been a food allergy that started the scratching behavior. Scratching in turn could have caused a skin dermatitis (yeast) leading to the odor. So you really need to treat the skin dermatitis. You can try the selsun blue ot other shampoo with miconazole or miconazole cream on the bald areas to help with regrowth.
Some bald areas are often referred to as hot spots as well. You can read about hot spots here:
I hope this information is helpful to you.