From: Linus Torvalds Date: Wed, 19 Mar 2008 04:26:24 +0000 (-0700) Subject: IDE: Make taskfile interface more robust wrt unexpected end-of-command X-Git-Tag: v2.6.25-rc7~103 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c3c3158a81d6a92d335dd27ad9eb43f6b4c664b;p=pandora-kernel.git IDE: Make taskfile interface more robust wrt unexpected end-of-command Now that we handle all the special commands using REQ_TYPE_ATA_TASKFILE rather than using the old REQ_TYPE_ATA_CMD model, we need to also emulate the lack of full taskfile data that comes with the old command model (ie when commands are generated with the HDIO_DRIVE_CMD ioctl rather than using the HDIO_DRIVE_TASK[FILE] ioctls). In particular, this means that we should handle command completion the more relaxed way that the old drive_cmd_intr() code did. It allows commands to finish early even if they don't use up all the data that we thought we had for them. This fixes a regression seen by Anders Eriksson where some SMART commands sent by smartd would cause a boot-time system hang on his machine because the IDE command handling code didn't realize that the command had completed. Tested-by: Anders Eriksson Cc: Jens Axboe Cc: Ingo Molnar Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed