I am seeing the same problem reported in #404538. Interestingly it only 
fails the first time which makes sense if you look at the code in 
debian/rules:
=======================================================================debian/control
debian/rules.gen: $(CONTROL_FILES)
        if [ -f debian/control ] && [ -f debian/control.md5sum ]
&& [ -f
debian/rules.gen ]; then \
                if md5sum $^ | diff - debian/control.md5sum > /dev/null; 
then true; else \
                        $(MAKE) -f debian/rules debian/control-real; \
                fi \
        else \
                $(MAKE) -f debian/rules debian/control-real; \
        fi
debian/control-real: $(CONTROL_FILES)
        debian/bin/gencontrol.py $(KERNELVERSION) /usr/src/linux-support-$(K
ERNELVERSION)
        md5sum $^ > debian/control.md5sum
        @echo
        @echo This target is made to fail intentionally, to make sure
        @echo that it is NEVER run during the automated build. Please
        @echo ignore the following error, the debian/control file has
        @echo been generated SUCCESSFULLY.
        @echo
        exit 1
=======================================================================
So if it doesn't exist then it runs control-real which creates it and then 
exits, and then it exists the next time around. Is this some sort of 
convenience thing for the maintainer? It makes it harder for other people 
to work on the package.
-- 
Matt Taggart
taggart at debian.org