on line 167, new_bus is allocated. If execution goes to line 182, new_bus will never be kfree'd.
Bug description is misleading. It's ok to not free if we get to 182, as that line indicates there was an error in *allocating* the memory. However, I'm going to assume the line number was misreported, as there are several other places in this function that were recently changed, and now fail to properly free/iounmap memory after an error. Patch forthcoming.
Created attachment 17867 [details] Adds proper error-out paths