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

Commit e7d688ec 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] sclp_vt220 build fix
  [S390] cio: change misleading console logic
  [S390] call home support: fix proc handler
  [S390] dasd: use idal for device characteristics
  [S390] Add highgprs facility to /proc/cpuinfo
  [S390] dasd: fix locking bug
  [S390] tape390: Fix request queue handling in block driver
  [S390] hypfs: Use subcode 6 if subcode 7 is not available
parents d470c05b ac522b63
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -438,7 +438,7 @@ static int diag204_probe(void)
		}
		if (diag204((unsigned long)SUBC_STIB6 |
			    (unsigned long)INFO_EXT, pages, buf) >= 0) {
			diag204_store_sc = SUBC_STIB7;
			diag204_store_sc = SUBC_STIB6;
			diag204_info_type = INFO_EXT;
			goto out;
		}
+3 −3
Original line number Diff line number Diff line
@@ -31,9 +31,9 @@ void __cpuinit print_cpu_info(void)

static int show_cpuinfo(struct seq_file *m, void *v)
{
	static const char *hwcap_str[9] = {
	static const char *hwcap_str[10] = {
		"esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp",
		"edat", "etf3eh"
		"edat", "etf3eh", "highgprs"
	};
	struct _lowcore *lc;
	unsigned long n = (unsigned long) v - 1;
@@ -48,7 +48,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
			   num_online_cpus(), loops_per_jiffy/(500000/HZ),
			   (loops_per_jiffy/(5000/HZ))%100);
		seq_puts(m, "features\t: ");
		for (i = 0; i < 9; i++)
		for (i = 0; i < 10; i++)
			if (hwcap_str[i] && (elf_hwcap & (1UL << i)))
				seq_printf(m, "%s ", hwcap_str[i]);
		seq_puts(m, "\n");
+11 −2
Original line number Diff line number Diff line
@@ -2533,6 +2533,7 @@ static struct dasd_ccw_req *dasd_generic_build_rdc(struct dasd_device *device,
{
	struct dasd_ccw_req *cqr;
	struct ccw1 *ccw;
	unsigned long *idaw;

	cqr = dasd_smalloc_request(magic, 1 /* RDC */, rdc_buffer_size, device);

@@ -2546,9 +2547,17 @@ static struct dasd_ccw_req *dasd_generic_build_rdc(struct dasd_device *device,

	ccw = cqr->cpaddr;
	ccw->cmd_code = CCW_CMD_RDC;
	if (idal_is_needed(rdc_buffer, rdc_buffer_size)) {
		idaw = (unsigned long *) (cqr->data);
		ccw->cda = (__u32)(addr_t) idaw;
		ccw->flags = CCW_FLAG_IDA;
		idaw = idal_create_words(idaw, rdc_buffer, rdc_buffer_size);
	} else {
		ccw->cda = (__u32)(addr_t) rdc_buffer;
	ccw->count = rdc_buffer_size;
		ccw->flags = 0;
	}

	ccw->count = rdc_buffer_size;
	cqr->startdev = device;
	cqr->memdev = device;
	cqr->expires = 10*HZ;
+5 −3
Original line number Diff line number Diff line
@@ -3216,6 +3216,7 @@ int dasd_eckd_restore_device(struct dasd_device *device)
	struct dasd_eckd_characteristics temp_rdc_data;
	int is_known, rc;
	struct dasd_uid temp_uid;
	unsigned long flags;

	private = (struct dasd_eckd_private *) device->private;

@@ -3228,7 +3229,8 @@ int dasd_eckd_restore_device(struct dasd_device *device)
	rc = dasd_eckd_generate_uid(device, &private->uid);
	dasd_get_uid(device->cdev, &temp_uid);
	if (memcmp(&private->uid, &temp_uid, sizeof(struct dasd_uid)) != 0)
		dev_err(&device->cdev->dev, "The UID of the DASD has changed\n");
		dev_err(&device->cdev->dev, "The UID of the DASD has "
			"changed\n");
	if (rc)
		goto out_err;
	dasd_set_uid(device->cdev, &private->uid);
@@ -3256,9 +3258,9 @@ int dasd_eckd_restore_device(struct dasd_device *device)
			  "device: %s", rc, dev_name(&device->cdev->dev));
		goto out_err;
	}
	spin_lock(get_ccwdev_lock(device->cdev));
	spin_lock_irqsave(get_ccwdev_lock(device->cdev), flags);
	memcpy(&private->rdc_data, &temp_rdc_data, sizeof(temp_rdc_data));
	spin_unlock(get_ccwdev_lock(device->cdev));
	spin_unlock_irqrestore(get_ccwdev_lock(device->cdev), flags);

	/* add device to alias management */
	dasd_alias_add_device(device);
+2 −2
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ static struct notifier_block call_home_panic_nb = {
	.priority = INT_MAX,
};

static int proc_handler_callhome(ctl_table *ctl, int write, struct file *filp,
static int proc_handler_callhome(struct ctl_table *ctl, int write,
				 void __user *buffer, size_t *count,
				 loff_t *ppos)
{
@@ -100,7 +100,7 @@ static struct ctl_table callhome_table[] = {
	{
		.procname	= "callhome",
		.mode		= 0644,
		.proc_handler	= &proc_handler_callhome,
		.proc_handler	= proc_handler_callhome,
	},
	{ .ctl_name = 0 }
};
Loading