Merge branch 'stable-3.2' into pandora-3.2
[pandora-kernel.git] / drivers / s390 / scsi / zfcp_fsf.c
index 98bb859..7799641 100644 (file)
@@ -902,8 +902,8 @@ static void zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *req)
 
        switch (header->fsf_status) {
         case FSF_GOOD:
-               zfcp_dbf_san_res("fsscth2", req);
                ct->status = 0;
+               zfcp_dbf_san_res("fsscth2", req);
                break;
         case FSF_SERVICE_CLASS_NOT_SUPPORTED:
                zfcp_fsf_class_not_supp(req);
@@ -1086,8 +1086,8 @@ static void zfcp_fsf_send_els_handler(struct zfcp_fsf_req *req)
 
        switch (header->fsf_status) {
        case FSF_GOOD:
-               zfcp_dbf_san_res("fsselh1", req);
                send_els->status = 0;
+               zfcp_dbf_san_res("fsselh1", req);
                break;
        case FSF_SERVICE_CLASS_NOT_SUPPORTED:
                zfcp_fsf_class_not_supp(req);
@@ -2256,7 +2256,8 @@ int zfcp_fsf_fcp_cmnd(struct scsi_cmnd *scsi_cmnd)
        fcp_cmnd = (struct fcp_cmnd *) &req->qtcb->bottom.io.fcp_cmnd;
        zfcp_fc_scsi_to_fcp(fcp_cmnd, scsi_cmnd, 0);
 
-       if (scsi_prot_sg_count(scsi_cmnd)) {
+       if ((scsi_get_prot_op(scsi_cmnd) != SCSI_PROT_NORMAL) &&
+           scsi_prot_sg_count(scsi_cmnd)) {
                zfcp_qdio_set_data_div(qdio, &req->qdio_req,
                                       scsi_prot_sg_count(scsi_cmnd));
                retval = zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req,