From: Roland Dreier Date: Wed, 31 Oct 2012 16:16:49 +0000 (-0700) Subject: target: Implement mode page 0x1c, "Informational Exceptions" X-Git-Tag: upstream/snapshot3+hdmi~6051^2~36 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0f6d64cee9c518f5d3138a90cead62fba2031074;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git target: Implement mode page 0x1c, "Informational Exceptions" The Windows SCSI compliance test asks for this mode page, and it's easy to implement: we can just return all 0s to show we don't support any of these features. Signed-off-by: Roland Dreier Signed-off-by: Nicholas Bellinger --- diff --git a/drivers/target/target_core_spc.c b/drivers/target/target_core_spc.c index 8ccfe00..6c10fce 100644 --- a/drivers/target/target_core_spc.c +++ b/drivers/target/target_core_spc.c @@ -760,6 +760,19 @@ out: return 20; } +static int spc_modesense_informational_exceptions(struct se_device *dev, u8 pc, unsigned char *p) +{ + p[0] = 0x1c; + p[1] = 0x0a; + + /* No changeable values for now */ + if (pc == 1) + goto out; + +out: + return 12; +} + static struct { uint8_t page; uint8_t subpage; @@ -768,6 +781,7 @@ static struct { { .page = 0x01, .subpage = 0x00, .emulate = spc_modesense_rwrecovery }, { .page = 0x08, .subpage = 0x00, .emulate = spc_modesense_caching }, { .page = 0x0a, .subpage = 0x00, .emulate = spc_modesense_control }, + { .page = 0x1c, .subpage = 0x00, .emulate = spc_modesense_informational_exceptions }, }; static void spc_modesense_write_protect(unsigned char *buf, int type)