• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/s390/block/

Lines Matching defs:cqr

43  *   the status of the original cqr / erp to the given (final) status
50 * cqr original cqr
55 struct dasd_ccw_req *cqr = erp->refers;
58 cqr->status = final_status;
59 return cqr;
110 /* (this enables easier enqueing of the cqr) */
183 * Setup cqr to do the Diagnostic Control (DCTL) command with an
287 * Use a timer (20 seconds) to retry the cqr if the interrupt is still
306 /* interrupt (this enables easier enqueing of the cqr) */
1082 /* (this enables easier enqueing of the cqr) */
1300 * erp pointer to original (failed) cqr.
1419 struct dasd_ccw_req *cqr = erp->refers;
1422 if (cqr->block &&
1423 (cqr->block->base != cqr->startdev)) {
1429 if (!test_bit(DASD_FLAG_OFFLINE, &cqr->startdev->flags) && sense
1437 dasd_alias_remove_device(cqr->startdev);
1440 dasd_reload_device(cqr->startdev);
1443 if (cqr->startdev->features & DASD_FEATURE_ERPLOG) {
1444 DBF_DEV_EVENT(DBF_ERR, cqr->startdev,
1446 " recover on base device %s", cqr,
1447 dev_name(&cqr->block->base->cdev->dev));
1449 dasd_eckd_reset_ccw_to_base_io(cqr);
1450 erp->startdev = cqr->block->base;
1592 struct dasd_ccw_req *cqr;
1604 /* determine the original cqr */
1605 cqr = default_erp;
1607 while (cqr->refers != NULL) {
1608 cqr = cqr->refers;
1611 if (scsw_is_tm(&cqr->irb.scsw)) {
1639 erp = dasd_alloc_erp_request((char *) &cqr->magic,
1653 oldccw = cqr->cpaddr;
1655 PFX_data = cqr->data;
1659 memcpy(DE_data, cqr->data, sizeof(struct DE_eckd_data));
1750 struct dasd_ccw_req *cqr;
1759 /* determine the original cqr */
1760 cqr = previous_erp;
1762 while (cqr->refers != NULL) {
1763 cqr = cqr->refers;
1766 if (scsw_is_tm(&cqr->irb.scsw)) {
2283 * the given cqr (or erp).
2284 * For a command mode cqr the erp is initialized as an default erp
2291 * cqr head of the current ERP-chain (or single cqr if
2296 static struct dasd_ccw_req *dasd_3990_erp_add_erp(struct dasd_ccw_req *cqr)
2299 struct dasd_device *device = cqr->startdev;
2306 if (cqr->cpmode == 1) {
2316 erp = dasd_alloc_erp_request((char *) &cqr->magic,
2319 if (cqr->retries <= 0) {
2322 cqr->status = DASD_CQR_FAILED;
2323 cqr->stopclk = get_clock ();
2328 cqr->retries);
2334 ccw = cqr->cpaddr;
2335 if (cqr->cpmode == 1) {
2341 *tcw = *((struct tcw *)cqr->cpaddr);
2345 erp->cpaddr = cqr->cpaddr;
2353 ccw->cda = (long)(cqr->cpaddr);
2357 erp->refers = cqr;
2360 erp->block = cqr->block;
2361 erp->magic = cqr->magic;
2379 * cqr head of the current ERP-chain (or single cqr if
2386 dasd_3990_erp_additional_erp(struct dasd_ccw_req * cqr)
2392 erp = dasd_3990_erp_add_erp(cqr);
2398 if (erp != cqr) {
2411 * Check if the device status of the given cqr is the same.
2418 * cqr1 first cqr, which will be compared with the
2419 * cqr2 second cqr.
2465 * quick exit if current cqr is not an ERP (cqr->refers=NULL)
2468 * cqr failed cqr (either original cqr or already an erp)
2476 dasd_3990_erp_in_erp(struct dasd_ccw_req *cqr)
2479 struct dasd_ccw_req *erp_head = cqr, /* save erp chain head */
2483 if (cqr->refers == NULL) { /* return if not in erp */
2487 /* check the erp/cqr chain for current error */
2489 match = dasd_3990_erp_error_match(erp_head, cqr->refers);
2490 erp_match = cqr; /* save possible matching erp */
2491 cqr = cqr->refers; /* check next erp/cqr in queue */
2493 } while ((cqr->refers != NULL) && (!match));
2686 * cqr failed cqr (either original cqr or already an erp)
2691 * - either a ptr to an additional ERP cqr or
2692 * - the original given cqr (which's status might
2696 dasd_3990_erp_action(struct dasd_ccw_req * cqr)
2699 struct dasd_device *device = cqr->startdev;
2706 for (temp_erp = cqr;
2716 /* double-check if current erp/cqr was successful */
2717 if ((scsw_cstat(&cqr->irb.scsw) == 0x00) &&
2718 (scsw_dstat(&cqr->irb.scsw) ==
2723 " - NO ERP necessary", cqr);
2725 cqr->status = DASD_CQR_DONE;
2727 return cqr;
2731 erp = dasd_3990_erp_in_erp(cqr);
2735 erp = dasd_3990_erp_additional_erp(cqr);
2740 erp = dasd_3990_erp_handle_match_erp(cqr, erp);
2759 cqr->status = DASD_CQR_IN_ERP;
2760 /* add erp request before the cqr */
2761 list_add_tail(&erp->blocklist, &cqr->blocklist);