lkml.org 
[lkml]   [2006]   [Jul]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2.6.18-rc1-mm2 2/6] ieee1394: sbp2: discard return value of sbp2_link_orb_command
    Since sbp2 is at the moment unable to do anything with the return value
    of sbp2_link_orb_command, just discard it.

    Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
    ---
    drivers/ieee1394/sbp2.c | 8 +++-----
    drivers/ieee1394/sbp2.h | 5 -----
    2 files changed, 3 insertions(+), 10 deletions(-)

    TODO:
    Alas sbp2 initiates 1394 write requests to the target's ORB_POINTER and
    DOORBELL registers from atomic context. These write transactions should
    be moved into non-atomic context, i.e. a kthread or workqueue. That way
    typical failures of sbp2util_node_write_no_wait can be avoided in the
    first place, and there are better possibilities to recover from
    remaining failures.

    Index: linux/drivers/ieee1394/sbp2.c
    ===================================================================
    --- linux.orig/drivers/ieee1394/sbp2.c 2006-07-23 10:11:10.000000000 +0200
    +++ linux/drivers/ieee1394/sbp2.c 2006-07-23 10:26:32.000000000 +0200
    @@ -1964,7 +1964,7 @@ static void sbp2_create_command_orb(stru
    /*
    * This function is called in order to begin a regular SBP-2 command.
    */
    -static int sbp2_link_orb_command(struct scsi_id_instance_data *scsi_id,
    +static void sbp2_link_orb_command(struct scsi_id_instance_data *scsi_id,
    struct sbp2_command_info *command)
    {
    struct sbp2scsi_host_info *hi = scsi_id->hi;
    @@ -2030,11 +2030,9 @@ static int sbp2_link_orb_command(struct

    SBP2_ORB_DEBUG("write to %s register, command orb %p",
    last_orb ? "DOORBELL" : "ORB_POINTER", command_orb);
    - if (sbp2util_node_write_no_wait(scsi_id->ne, addr, data, length) < 0) {
    + if (sbp2util_node_write_no_wait(scsi_id->ne, addr, data, length))
    SBP2_ERR("sbp2util_node_write_no_wait failed.\n");
    - return -EIO;
    - }
    - return 0;
    + /* We rely on SCSI EH to deal with _node_write_ failures. */
    }

    /*
    Index: linux/drivers/ieee1394/sbp2.h
    ===================================================================
    --- linux.orig/drivers/ieee1394/sbp2.h 2006-07-23 10:08:51.000000000 +0200
    +++ linux/drivers/ieee1394/sbp2.h 2006-07-23 10:23:26.000000000 +0200
    @@ -390,11 +390,6 @@ static int sbp2_logout_device(struct scs
    static int sbp2_handle_status_write(struct hpsb_host *host, int nodeid, int destid,
    quadlet_t *data, u64 addr, size_t length, u16 flags);
    static int sbp2_agent_reset(struct scsi_id_instance_data *scsi_id, int wait);
    -static int sbp2_link_orb_command(struct scsi_id_instance_data *scsi_id,
    - struct sbp2_command_info *command);
    -static int sbp2_send_command(struct scsi_id_instance_data *scsi_id,
    - struct scsi_cmnd *SCpnt,
    - void (*done)(struct scsi_cmnd *));
    static unsigned int sbp2_status_to_sense_data(unchar *sbp2_status,
    unchar *sense_data);
    static void sbp2_parse_unit_directory(struct scsi_id_instance_data *scsi_id,


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-07-23 23:03    [W:0.023 / U:31.264 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site