linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Cc: jeff@garzik.org, linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org, linux-ide@vger.kernel.org
Subject: Re: [patch 1/7] libata: check for AN support
Date: Tue, 24 Apr 2007 17:03:29 +0900	[thread overview]
Message-ID: <462DB9D1.2070106@gmail.com> (raw)
In-Reply-To: <20070423165943.0cc67bc5.kristen.c.accardi@intel.com>

Hello,

Kristen Carlson Accardi wrote:
>  static unsigned int ata_print_id = 1;
> @@ -1744,6 +1745,23 @@ int ata_dev_configure(struct ata_device 
>  		}
>  		dev->cdb_len = (unsigned int) rc;
>  
> +		/*
> +		 * check to see if this ATAPI device supports
> +		 * Asynchronous Notification
> +		 */
> +		if ((ap->flags & ATA_FLAG_AN) && ata_id_has_AN(id))
> +		{
> +			/* issue SET feature command to turn this on */
> +			rc = ata_dev_set_AN(dev);

Please don't store err_mask into int rc.  Please store it to a separate
err_mask variable and report it when printing error message.

> +			if (rc) {
> +				ata_dev_printk(dev, KERN_ERR,
> +						"unable to set AN\n");
> +				rc = -EINVAL;

Wouldn't -EIO be more appropriate?

> +				goto err_out_nosup;
> +			}
> +			dev->flags |= ATA_DFLAG_AN;
> +		}
> +

Not NACKing.  Just notes for future improvements.  We need to be more
careful here.  ATA/ATAPI world is filled with braindamaged devices and I
bet there are devices which advertises it can do AN but chokes when AN
is enabled.

This should be handled similarly to ACPI failure.  Currently ACPI does
the following.

1. try once, if fail, record that ACPI failed.  return error to trigger
retry.
2. try again, if fail again, ignore error if possible (!FROZEN) and turn
off ACPI.

This fallback mechanism for optional features can probably be
generalized and used for both ACPI and AN.

-- 
tejun

  reply	other threads:[~2007-04-24  8:03 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20070424074856.005152262@intel.com>
2007-04-23 23:59 ` [patch 1/7] libata: check for AN support Kristen Carlson Accardi
2007-04-24  8:03   ` Tejun Heo [this message]
2007-04-24 15:54     ` Kristen Carlson Accardi
2007-04-24  8:07   ` Alan Cox
2007-04-24 10:23     ` Olivier Galibert
2007-04-24 15:49       ` Kristen Carlson Accardi
2007-04-24 18:05         ` Olivier Galibert
2007-04-24 18:29           ` Kristen Carlson Accardi
2007-04-24 20:53           ` Kristen Carlson Accardi
2007-04-25  0:49             ` Olivier Galibert
2007-04-25 17:55               ` Kristen Carlson Accardi
2007-04-25 18:40               ` Kristen Carlson Accardi
2007-04-25 19:16                 ` Matt Sealey
2007-04-25 20:34                   ` Kristen Carlson Accardi
2007-04-25 20:59                     ` Matt Sealey
2007-04-25 20:40                   ` Olivier Galibert
2007-05-04 18:14               ` [patch 1/7] libata: check for AN support - resend Kristen Carlson Accardi
2007-04-23 23:59 ` [patch 2/7] genhd: expose AN to user space Kristen Carlson Accardi
2007-04-24  8:05   ` Tejun Heo
2007-04-24 21:30     ` Kristen Carlson Accardi
2007-05-04 18:15     ` [patch 2/7] genhd: expose AN to user space - resend Kristen Carlson Accardi
2007-04-23 23:59 ` [patch 3/7] scsi: expose AN to user space Kristen Carlson Accardi
2007-04-24  0:00 ` [patch 4/7] libata: " Kristen Carlson Accardi
2007-04-24  0:00 ` [patch 5/7] genhd: send async notification on media change Kristen Carlson Accardi
2007-04-24  8:20   ` Tejun Heo
2007-04-24 21:36     ` Kristen Carlson Accardi
2007-05-04 18:17     ` Kristen Carlson Accardi
2007-04-24  0:00 ` [patch 6/7] SCSI: save disk in scsi_device Kristen Carlson Accardi
2007-04-24  0:00 ` [patch 7/7] libata: send event when AN received Kristen Carlson Accardi
2007-04-24  8:09   ` Alan Cox
2007-04-24 21:38     ` Kristen Carlson Accardi
2007-05-04 18:18     ` [patch 7/7] libata: send event when AN received - resend Kristen Carlson Accardi
2007-05-04 18:16 ` [patch 3/7] scsi: expose AN to user space " Kristen Carlson Accardi
2007-05-04 18:16 ` [patch 4/7] libata: " Kristen Carlson Accardi
2007-05-04 18:17 ` [patch 6/7] SCSI: save disk in scsi_device " Kristen Carlson Accardi
2007-05-04 20:30   ` James Bottomley
2007-05-07 15:29     ` Kristen Carlson Accardi
2007-05-09 22:50       ` Kristen Carlson Accardi
2007-05-09 23:04         ` James Bottomley
     [not found] <20070510072247.063476979@intel.com>
2007-05-09 23:38 ` [patch 1/7] libata: check for AN support Kristen Carlson Accardi
2007-05-10  5:09   ` Andrew Morton
2007-05-10  5:14     ` Jeff Garzik
2007-05-10  5:25       ` Andrew Morton
2007-05-10 15:19     ` Randy Dunlap
2007-05-10 17:02     ` Kristen Carlson Accardi
2007-05-25  3:15       ` Jeff Garzik
2007-06-11 20:20         ` Kristen Carlson Accardi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=462DB9D1.2070106@gmail.com \
    --to=htejun@gmail.com \
    --cc=jeff@garzik.org \
    --cc=kristen.c.accardi@intel.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).