Gabriel Krisman Bertazi 2c5d16d6a9 sd: Clear PS bit before Mode Select.
According to SPC-4, in a Mode Select, the PS bit in Mode Pages is
reserved and must be set to 0 by the driver.  In the sd implementation,
function cache_type_store does a Mode Sense, which might set the PS bit
on the read buffer, followed by a Mode Select, which receives the same
buffer, without explicitly clearing the PS bit.  So, in cases where
target supports saving the Mode Page to a non-volatile location, we end
up doing a Mode Select with the PS bit set, which could cause an illegal
request error if the target is checking this.

This was observed on a new firmware change, which was subsequently
reverted, but this changes sd.c to be more compliant with SPC-4.

This patch clears the PS bit in the buffer returned by Mode Select,
right before it is used in the Mode Select command.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2015-11-11 21:10:26 -05:00
..
2015-09-08 16:48:55 -07:00
2015-09-08 18:19:17 -07:00
2015-09-10 17:59:04 -07:00
2015-09-04 11:35:03 -07:00
2015-09-04 11:10:18 -07:00
2015-09-11 16:21:12 -07:00
2015-08-31 15:49:19 -07:00
2015-09-11 16:42:39 -07:00
2015-09-08 14:35:59 -07:00
2015-09-03 16:41:38 -07:00
2015-09-11 18:15:18 -07:00
2015-09-11 16:42:39 -07:00
2015-09-08 17:22:35 -07:00
2015-09-08 16:33:16 -07:00
2015-09-09 11:17:33 -07:00
2015-09-08 14:35:59 -07:00
2015-09-09 10:55:32 -07:00
2015-09-08 16:48:55 -07:00
2015-09-05 19:37:31 +02:00
2015-11-11 21:10:26 -05:00
2015-09-10 17:59:04 -07:00