diff --git a/tools/checkpatch.pl b/tools/checkpatch.pl
index 2048a449b51c7b24c4e9cea031b1eab21f817c81..c7475f9e3361d2a01e08b69c1588ee69ddb69bc8 100755
--- a/tools/checkpatch.pl
+++ b/tools/checkpatch.pl
@@ -3139,6 +3139,12 @@ sub process {
 			 "Statements terminations use 1 semicolon\n" . $herecurr);
 		}
 
+# check for whitespace before semicolon - not allowed at end-of-line
+		if ($line =~ /\s+;$/) {
+		    WARN("SPACEBEFORE_SEMICOLON",
+			 "Whitespace before semicolon\n" . $herecurr);
+		}
+
 # check for gcc specific __FUNCTION__
 		if ($line =~ /__FUNCTION__/) {
 			WARN("USE_FUNC",