From: Jens Axboe Date: Thu, 19 Jul 2007 06:13:01 +0000 (+0200) Subject: IDE: fix termination of non-fs requests X-Git-Tag: v2.6.23-rc1~266 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=41e9d344bf52c57ec16648d08618b61d3f1d4bdc;p=pandora-kernel.git IDE: fix termination of non-fs requests ide-disk calls ide_end_request(drive, 0, 0); to finish an unknown request, but this doesn't work so well for non-fs requests, since ide_end_request() internally looks at ->hard_cur_sectors to see how much data to end. Only file system requests store a transfer value in there, pc requests fill out ->data_len as a byte based transfer value instead. Since we ask to end 0 bytes of that request, it will never be terminated and ide-disk gets stuck in a loop "handling" that same request over and over. Switch __ide_end_request() to take a byte based transfer count, and adjust ide_end_request() to look at the right field to determine how much IO to end when it's being passed in 0. Acked-by: Bartlomiej Zolnierkiewicz Tested-By: Giacomo Catenazzi Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed