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

Commit ee723cb3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [S390] dasd: use -EOPNOTSUPP instead of -ENOTSUPP
  [S390] qdio: new qdio driver.
  [S390] cio: Export chsc_error_from_response().
  [S390] vmur: Fix return code handling.
  [S390] Fix stacktrace compile bug.
  [S390] Increase default warning stacksize.
  [S390] dasd: Fix cleanup in dasd_{fba,diag}_check_characteristics().
  [S390] chsc headers userspace cleanup
  [S390] dasd: fix unsolicited SIM handling.
  [S390] zfcpdump: Make SCSI disk dump tool recognize storage holes
parents 7023cc61 8586cb60
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -289,7 +289,7 @@ config WARN_STACK_SIZE
	int "Maximum frame size considered safe (128-2048)"
	range 128 2048
	depends on WARN_STACK
	default "256"
	default "2048"
	help
	  This allows you to specify the maximum frame size a function may
	  have without the compiler complaining about it.
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@
#include <linux/sched.h>
#include <linux/stacktrace.h>
#include <linux/kallsyms.h>
#include <linux/module.h>

static unsigned long save_context_stack(struct stack_trace *trace,
					unsigned long sp,
+18 −7
Original line number Diff line number Diff line
@@ -333,7 +333,8 @@ dasd_diag_check_device(struct dasd_device *device)
	if (IS_ERR(block)) {
		DEV_MESSAGE(KERN_WARNING, device, "%s",
			    "could not allocate dasd block structure");
		kfree(device->private);
		device->private = NULL;
		kfree(private);
		return PTR_ERR(block);
	}
	device->block = block;
@@ -348,7 +349,8 @@ dasd_diag_check_device(struct dasd_device *device)
	if (rc) {
		DEV_MESSAGE(KERN_WARNING, device, "failed to retrieve device "
			    "information (rc=%d)", rc);
		return -ENOTSUPP;
		rc = -EOPNOTSUPP;
		goto out;
	}

	/* Figure out position of label block */
@@ -362,7 +364,8 @@ dasd_diag_check_device(struct dasd_device *device)
	default:
		DEV_MESSAGE(KERN_WARNING, device, "unsupported device class "
			    "(class=%d)", private->rdc_data.vdev_class);
		return -ENOTSUPP;
		rc = -EOPNOTSUPP;
		goto out;
	}

	DBF_DEV_EVENT(DBF_INFO, device,
@@ -379,7 +382,8 @@ dasd_diag_check_device(struct dasd_device *device)
	if (label == NULL)  {
		DEV_MESSAGE(KERN_WARNING, device, "%s",
			    "No memory to allocate initialization request");
		return -ENOMEM;
		rc = -ENOMEM;
		goto out;
	}
	rc = 0;
	end_block = 0;
@@ -403,7 +407,7 @@ dasd_diag_check_device(struct dasd_device *device)
			DEV_MESSAGE(KERN_WARNING, device, "%s",
				"DIAG call failed");
			rc = -EOPNOTSUPP;
			goto out;
			goto out_label;
		}
		mdsk_term_io(device);
		if (rc == 0)
@@ -413,7 +417,7 @@ dasd_diag_check_device(struct dasd_device *device)
		DEV_MESSAGE(KERN_WARNING, device, "device access failed "
			    "(rc=%d)", rc);
		rc = -EIO;
		goto out;
		goto out_label;
	}
	/* check for label block */
	if (memcmp(label->label_id, DASD_DIAG_CMS1,
@@ -439,8 +443,15 @@ dasd_diag_check_device(struct dasd_device *device)
			    (unsigned long) (block->blocks <<
				block->s2b_shift) >> 1);
	}
out:
out_label:
	free_page((long) label);
out:
	if (rc) {
		device->block = NULL;
		dasd_free_block(block);
		device->private = NULL;
		kfree(private);
	}
	return rc;
}

+3 −1
Original line number Diff line number Diff line
@@ -1418,8 +1418,10 @@ static void dasd_eckd_handle_unsolicited_interrupt(struct dasd_device *device,


	/* service information message SIM */
	if ((irb->ecw[6] & DASD_SIM_SENSE) == DASD_SIM_SENSE) {
	if (irb->esw.esw0.erw.cons && (irb->ecw[27] & DASD_SENSE_BIT_0) &&
	    ((irb->ecw[6] & DASD_SIM_SENSE) == DASD_SIM_SENSE)) {
		dasd_3990_erp_handle_sim(device, irb->ecw);
		dasd_schedule_device_bh(device);
		return;
	}

+6 −1
Original line number Diff line number Diff line
@@ -139,7 +139,8 @@ dasd_fba_check_characteristics(struct dasd_device *device)
	if (IS_ERR(block)) {
		DEV_MESSAGE(KERN_WARNING, device, "%s",
			    "could not allocate dasd block structure");
		kfree(device->private);
		device->private = NULL;
		kfree(private);
		return PTR_ERR(block);
	}
	device->block = block;
@@ -152,6 +153,10 @@ dasd_fba_check_characteristics(struct dasd_device *device)
		DEV_MESSAGE(KERN_WARNING, device,
			    "Read device characteristics returned error %d",
			    rc);
		device->block = NULL;
		dasd_free_block(block);
		device->private = NULL;
		kfree(private);
		return rc;
	}

Loading