cmf.c (c203e45f069af47ca7623e4dcd8c00bfba2722e4) cmf.c (23d805b647db6c2063a13089497615efa9deacdd)
1/*
2 * linux/drivers/s390/cio/cmf.c
3 *
4 * Linux on zSeries Channel Measurement Facility support
5 *
6 * Copyright 2000,2006 IBM Corporation
7 *
8 * Authors: Arnd Bergmann <arndb@de.ibm.com>

--- 327 unchanged lines hidden (view full) ---

336 void *hw_block;
337 struct cmb_data *cmb_data;
338
339 sch = to_subchannel(cdev->dev.parent);
340
341 if (stsch(sch->schid, &sch->schib))
342 return -ENODEV;
343
1/*
2 * linux/drivers/s390/cio/cmf.c
3 *
4 * Linux on zSeries Channel Measurement Facility support
5 *
6 * Copyright 2000,2006 IBM Corporation
7 *
8 * Authors: Arnd Bergmann <arndb@de.ibm.com>

--- 327 unchanged lines hidden (view full) ---

336 void *hw_block;
337 struct cmb_data *cmb_data;
338
339 sch = to_subchannel(cdev->dev.parent);
340
341 if (stsch(sch->schid, &sch->schib))
342 return -ENODEV;
343
344 if (sch->schib.scsw.fctl & SCSW_FCTL_START_FUNC) {
344 if (scsw_fctl(&sch->schib.scsw) & SCSW_FCTL_START_FUNC) {
345 /* Don't copy if a start function is in progress. */
345 /* Don't copy if a start function is in progress. */
346 if ((!(sch->schib.scsw.actl & SCSW_ACTL_SUSPENDED)) &&
347 (sch->schib.scsw.actl &
346 if ((!(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_SUSPENDED)) &&
347 (scsw_actl(&sch->schib.scsw) &
348 (SCSW_ACTL_DEVACT | SCSW_ACTL_SCHACT)) &&
348 (SCSW_ACTL_DEVACT | SCSW_ACTL_SCHACT)) &&
349 (!(sch->schib.scsw.stctl & SCSW_STCTL_SEC_STATUS)))
349 (!(scsw_stctl(&sch->schib.scsw) & SCSW_STCTL_SEC_STATUS)))
350 return -EBUSY;
351 }
352 cmb_data = cdev->private->cmb;
353 hw_block = cmbops->align(cmb_data->hw_block);
354 if (!memcmp(cmb_data->last_block, hw_block, cmb_data->size))
355 /* No need to copy. */
356 return 0;
357 reference_buf = kzalloc(cmb_data->size, GFP_ATOMIC);

--- 1032 unchanged lines hidden ---
350 return -EBUSY;
351 }
352 cmb_data = cdev->private->cmb;
353 hw_block = cmbops->align(cmb_data->hw_block);
354 if (!memcmp(cmb_data->last_block, hw_block, cmb_data->size))
355 /* No need to copy. */
356 return 0;
357 reference_buf = kzalloc(cmb_data->size, GFP_ATOMIC);

--- 1032 unchanged lines hidden ---