From: Stefan Haberland Date: Tue, 6 Oct 2009 08:34:15 +0000 (+0200) Subject: [S390] dasd: fix race condition in resume code X-Git-Tag: v2.6.32-rc4~2^2 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6fca97a958bc3c67566aa91eafc6a5be2e66d6b3;p=pandora-kernel.git [S390] dasd: fix race condition in resume code There is a race while re-reading the device characteristics. After cleaning the memory area a cqr is build which reads the device characteristics. This may take a rather long time and the device characteristics structure is zero during this. Now it could be possible that the block tasklet starts working and a new cqr will be build. The build_cp command refers to the device characteristics structure and this may lead into a divide by zero exception. Fix this by re-reading the device characteristics into a temporary structur and copy the data to the original structure. Also take the ccwdev_lock. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky --- Reading git-diff-tree failed