Normally a big improvement with additional costs would go into the next model. I think charging for a hardware replacement is acceptable.
A pure software update fixing an existing issue I would say no. Car companies have recalls all of the time paid for by the company when something doesn't work as expected.
A software recall should be treated the same as a hardware recall.