lkml.org 
[lkml]   [2012]   [Jun]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/3] scsi: set to WCE if usb cache quirk is present.
    Date
    Make use of USB quirk method to identify such HDD while reading the cache status in sd_probe(). If cache quirk is present for the HDD, lets assume that cache is enabled and make WCE bit equal to 1.

    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Pankaj Kumar <pankaj.km@samsung.com>
    Signed-off-by: Amit Sahrawat <a.sahrawat@samsung.com>
    ---
    drivers/scsi/sd.c | 9 +++++++--
    include/scsi/scsi_device.h | 1 +
    2 files changed, 8 insertions(+), 2 deletions(-)

    diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
    index 6f0a4c6..33faf6d 100644
    --- a/drivers/scsi/sd.c
    +++ b/drivers/scsi/sd.c
    @@ -2259,8 +2259,13 @@ bad_sense:
    sd_printk(KERN_ERR, sdkp, "Asking for cache data failed\n");

    defaults:
    - sd_printk(KERN_ERR, sdkp, "Assuming drive cache: write through\n");
    - sdkp->WCE = 0;
    + if (sdp->wce_quirk) {
    + sdkp->WCE = 1;
    + sd_printk(KERN_NOTICE, sdkp, "Assuming drive cache write back\n");
    + } else {
    + sd_printk(KERN_ERR, sdkp, "Assuming drive cache: write through\n");
    + sdkp->WCE = 0;
    + }
    sdkp->RCD = 0;
    sdkp->DPOFUA = 0;
    }
    diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h
    index 6efb2e1..8be0247 100644
    --- a/include/scsi/scsi_device.h
    +++ b/include/scsi/scsi_device.h
    @@ -152,6 +152,7 @@ struct scsi_device {
    unsigned no_read_disc_info:1; /* Avoid READ_DISC_INFO cmds */
    unsigned no_read_capacity_16:1; /* Avoid READ_CAPACITY_16 cmds */
    unsigned is_visible:1; /* is the device visible in sysfs */
    + unsigned wce_quirk:1; /* cache read page is not available */

    DECLARE_BITMAP(supported_events, SDEV_EVT_MAXBITS); /* supported events */
    struct list_head event_list; /* asserted events */
    --
    1.7.9.5


    \
     
     \ /
      Last update: 2012-06-06 14:41    [W:0.021 / U:30.812 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site