Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 96f3ee28 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6

* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
  [S390] irqstats: fix counting of pfault, dasd diag and virtio irqs
  [S390] prng: fix pointer arithmetic
parents fa515888 a9851832
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@ static void prng_seed(int nbytes)

	/* Add the entropy */
	while (nbytes >= 8) {
		*((__u64 *)parm_block) ^= *((__u64 *)buf+i);
		*((__u64 *)parm_block) ^= *((__u64 *)(buf+i));
		prng_add_entropy();
		i += 8;
		nbytes -= 8;
+1 −1
Original line number Diff line number Diff line
@@ -543,7 +543,6 @@ static void pfault_interrupt(unsigned int ext_int_code,
	struct task_struct *tsk;
	__u16 subcode;

	kstat_cpu(smp_processor_id()).irqs[EXTINT_PFL]++;
	/*
	 * Get the external interruption subcode & pfault
	 * initial/completion signal bit. VM stores this 
@@ -553,6 +552,7 @@ static void pfault_interrupt(unsigned int ext_int_code,
	subcode = ext_int_code >> 16;
	if ((subcode & 0xff00) != __SUBCODE_MASK)
		return;
	kstat_cpu(smp_processor_id()).irqs[EXTINT_PFL]++;

	/*
	 * Get the token (= address of the task structure of the affected task).
+1 −1
Original line number Diff line number Diff line
@@ -239,7 +239,6 @@ static void dasd_ext_handler(unsigned int ext_int_code,
	addr_t ip;
	int rc;

	kstat_cpu(smp_processor_id()).irqs[EXTINT_DSD]++;
	switch (ext_int_code >> 24) {
	case DASD_DIAG_CODE_31BIT:
		ip = (addr_t) param32;
@@ -250,6 +249,7 @@ static void dasd_ext_handler(unsigned int ext_int_code,
	default:
		return;
	}
	kstat_cpu(smp_processor_id()).irqs[EXTINT_DSD]++;
	if (!ip) {		/* no intparm: unsolicited interrupt */
		DBF_EVENT(DBF_NOTICE, "%s", "caught unsolicited "
			      "interrupt");
+1 −1
Original line number Diff line number Diff line
@@ -381,10 +381,10 @@ static void kvm_extint_handler(unsigned int ext_int_code,
	u16 subcode;
	u32 param;

	kstat_cpu(smp_processor_id()).irqs[EXTINT_VRT]++;
	subcode = ext_int_code >> 16;
	if ((subcode & 0xff00) != VIRTIO_SUBCODE_64)
		return;
	kstat_cpu(smp_processor_id()).irqs[EXTINT_VRT]++;

	/* The LSB might be overloaded, we have to mask it */
	vq = (struct virtqueue *)(param64 & ~1UL);