If all the other suggestions fail, full service car washes usually sell sprays and deodorizers especially for smoke. I have a spray called Zero Smoke and it really works. Put the fabric in plastic bag, spray some in the bag and close it up for a few days. It does not cover up the smell, it neutralizes it. It takes the smell out of car upholstery really well.