To be honest, I prefered the original. foo = alloc(); if (!foo) { ret = -EWHATEVER; goto free_last_thing; } I like this style of error handling because all the information is there. You don't need to scroll down. I don't really care about this specific patch at all. It's a small thing. But we had someone come through who was sort of obsessed with removing these sorts of variables. Just because you can remove a variable doesn't necessarily make the code more readable. If you're doing the work and maintaining the driver you get to choose your own style to some extent. But I don't want to encourage people to start sending these sort of patches more generally. regards, dan carpenter