lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20111025171601.c2365840409d17df161ca8b5@canb.auug.org.au>
Date:	Tue, 25 Oct 2011 17:16:01 +1100
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	James Bottomley <James.Bottomley@...senPartnership.com>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Swen Schillig <swen@...t.ibm.com>,
	Steffen Maier <maier@...ux.vnet.ibm.com>,
	Jan Glauber <jang@...ux.vnet.ibm.com>,
	Martin Schwidefsky <schwidefsky@...ibm.com>,
	Heiko Carstens <heiko.carstens@...ibm.com>
Subject: linux-next: manual merge of the scsi tree with the s390 tree

Hi James,

Today's linux-next merge of the scsi tree got a conflict in
drivers/s390/cio/qdio_main.c between commit 9c20b3dd8479 ("[S390] qdio:
EQBS retry after CCQ 96") from the s390 tree and commit dfe5bb506172
("[SCSI] qdio: base support for hardware data router with zfcp") from the
scsi tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

diff --cc drivers/s390/cio/qdio_main.c
index a108e28,d2c1f1b..0000000
--- a/drivers/s390/cio/qdio_main.c
+++ b/drivers/s390/cio/qdio_main.c
@@@ -145,26 -151,16 +145,28 @@@ again
  		goto again;
  	}
  
 -	if (rc < 0) {
 -		DBF_ERROR("%4x EQBS ERROR", SCH_NO(q));
 -		DBF_ERROR("%3d%3d%2d", count, tmp_count, nr);
 -		q->handler(q->irq_ptr->cdev,
 -			   QDIO_ERROR_ACTIVATE_CHECK_CONDITION,
 -			   q->nr, q->first_to_kick, count,
 -			   q->irq_ptr->int_parm);
 -		return 0;
 +	if (rc == 2) {
 +		BUG_ON(tmp_count == count);
 +		qperf_inc(q, eqbs_partial);
 +		DBF_DEV_EVENT(DBF_WARN, q->irq_ptr, "EQBS part:%02x",
 +			tmp_count);
 +		/*
 +		 * Retry once, if that fails bail out and process the
 +		 * extracted buffers before trying again.
 +		 */
 +		if (!retried++)
 +			goto again;
 +		else
 +			return count - tmp_count;
  	}
 -	return count - tmp_count;
 +
 +	DBF_ERROR("%4x EQBS ERROR", SCH_NO(q));
 +	DBF_ERROR("%3d%3d%2d", count, tmp_count, nr);
- 	q->handler(q->irq_ptr->cdev, QDIO_ERROR_ACTIVATE_CHECK_CONDITION,
- 		   0, -1, -1, q->irq_ptr->int_parm);
++	q->handler(q->irq_ptr->cdev,
++		   QDIO_ERROR_ACTIVATE_CHECK_CONDITION,
++		   q->nr, q->first_to_kick, count,
++		   q->irq_ptr->int_parm);
 +	return 0;
  }
  
  /**
@@@ -207,12 -198,17 +209,12 @@@ again
  		qperf_inc(q, sqbs_partial);
  		goto again;
  	}
 -	if (rc < 0) {
 -		DBF_ERROR("%4x SQBS ERROR", SCH_NO(q));
 -		DBF_ERROR("%3d%3d%2d", count, tmp_count, nr);
 -		q->handler(q->irq_ptr->cdev,
 -			   QDIO_ERROR_ACTIVATE_CHECK_CONDITION,
 -			   q->nr, q->first_to_kick, count,
 -			   q->irq_ptr->int_parm);
 -		return 0;
 -	}
 -	WARN_ON(tmp_count);
 -	return count - tmp_count;
 +
 +	DBF_ERROR("%4x SQBS ERROR", SCH_NO(q));
 +	DBF_ERROR("%3d%3d%2d", count, tmp_count, nr);
 +	q->handler(q->irq_ptr->cdev, QDIO_ERROR_ACTIVATE_CHECK_CONDITION,
- 		   0, -1, -1, q->irq_ptr->int_parm);
++		   q->nr, q->first_to_kick, count, q->irq_ptr->int_parm);
 +	return 0;
  }
  
  /* returns number of examined buffers and their common state in *state */

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ