This is a typical "one err bug" which is a kind of bug where there is just one err: label which does all the error handling. One err bugs are one of the most common class of bugs in the kernel. "Oh, we didn't initialize that struct member" or "That pointer is NULL." In networking they have resisted patches to add sanity checks to free_netdev() so that people can't do one err style error handling. You always have to know if the dev is allocated or not. Having one error label makes sense if the label is "unlock:" but labels like fail:, err:, out:, or bail are not very good label names. The disadvantage of having multiple returns is that it means you can't have a debug statement, but debug statements are mostly a waste of RAM and we can use ftrace for that. regards, dan carpenter _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx