public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Doug Ledford <dledford@redhat.com>
To: Nathan Bryant <nbryant@optonline.net>
Cc: Mario Mikocevic <mozgy@hinet.hr>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: i810 audio patch
Date: Tue, 04 Dec 2001 16:15:35 -0500	[thread overview]
Message-ID: <3C0D3CF7.6030805@redhat.com> (raw)
In-Reply-To: <3C0C16E7.70206@optonline.net> <3C0C508C.40407@redhat.com> <3C0C58DE.9020703@optonline.net> <3C0C5CB2.6000602@optonline.net> <3C0C61CC.1060703@redhat.com> <20011204153507.A842@danielle.hinet.hr> <3C0D1DD2.4040609@optonline.net> <3C0D223E.3020904@redhat.com> <3C0D350F.9010408@optonline.net>

[-- Attachment #1: Type: text/plain, Size: 1113 bytes --]

Nathan Bryant wrote:

> Doug Ledford wrote:
> 
>> There is a new version of the driver (0.07) on my web site.  It has 
>> this issue and one other issue fixed (hopefully).  The other issue is 
>> when using artsd with the 0.06 driver, I had a report that artsd would 
>> end up waiting on select forever and never getting woken up.  The 0.07 
>> driver changes wait queue and lvi handling in a few strategic places, 
>> so it should work.  However, it's untested.  Reports welcome. 
> 
> 
> With 0.07, the kernel goes into an endless sleep as soon as artsd calls 
> select(). I don't think the looping changes to i810_poll are correct... 
> or even necessary?


Probably not.  Although I did change it back but then change it in 
another way.  Use the attached patch to back out those changes and let 
me know if it works (for some reason, I doubt it).

> though the userfragsize change is probably appropriate.
> 



-- 

  Doug Ledford <dledford@redhat.com>  http://people.redhat.com/dledford
       Please check my web site for aic7xxx updates/answers before
                       e-mailing me about problems

[-- Attachment #2: foo --]
[-- Type: text/plain, Size: 1193 bytes --]

--- i810_audio.c.07	Tue Dec  4 16:13:39 2001
+++ i810_audio.c.07b	Tue Dec  4 16:13:00 2001
@@ -1530,30 +1530,24 @@
 	struct dmabuf *dmabuf = &state->dmabuf;
 	unsigned long flags;
 	unsigned int mask = 0;
-        DECLARE_WAITQUEUE(waita, current);
+	int count;
 
 	if(!dmabuf->ready)
 		return 0;
-        add_wait_queue(&dmabuf->wait, &waita);
-again:
+	poll_wait(file, &dmabuf->wait, wait);
 	spin_lock_irqsave(&state->card->lock, flags);
 	i810_update_ptr(state);
+	count = dmabuf->count;
+	spin_unlock_irqrestore(&state->card->lock, flags);
 	if (file->f_mode & FMODE_READ && dmabuf->enable & ADC_RUNNING) {
-		if (dmabuf->count >= (signed)dmabuf->userfragsize)
+		if (count >= (signed)dmabuf->userfragsize)
 			mask |= POLLIN | POLLRDNORM;
 	}
 	if (file->f_mode & FMODE_WRITE && dmabuf->enable & DAC_RUNNING) {
 		if ((signed)dmabuf->dmasize >=
-		    dmabuf->count + (signed)dmabuf->userfragsize)
+		    count + (signed)dmabuf->userfragsize)
 			mask |= POLLOUT | POLLWRNORM;
 	}
-	spin_unlock_irqrestore(&state->card->lock, flags);
-	if (mask == 0) {
-		poll_wait(file, &dmabuf->wait, wait);
-		goto again;
-	}
-        remove_wait_queue(&dmabuf->wait, &waita);
-
 	return mask;
 }
 

  reply	other threads:[~2001-12-04 21:15 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-12-04  0:20 i810 audio patch Nathan Bryant
2001-12-04  4:26 ` Doug Ledford
     [not found]   ` <3C0C58DE.9020703@optonline.net>
2001-12-04  5:18     ` Nathan Bryant
2001-12-04  5:40       ` Doug Ledford
2001-12-04  6:07         ` Nathan Bryant
2001-12-04  7:08         ` Nathan Bryant
2001-12-04 16:46           ` Doug Ledford
2001-12-04 20:14             ` Nathan Bryant
2001-12-04 20:16               ` Doug Ledford
2001-12-04 14:35         ` Mario Mikocevic
2001-12-04 19:02           ` Nathan Bryant
2001-12-04 19:21             ` Doug Ledford
2001-12-04 20:41               ` Nathan Bryant
2001-12-04 21:15                 ` Doug Ledford [this message]
2001-12-04 21:39                   ` Nathan Bryant
2001-12-04 21:53                     ` Nathan Bryant
2001-12-04 22:29                   ` Nathan Bryant
2001-12-04 22:49                     ` Nathan Bryant
2001-12-04 23:09                       ` Doug Ledford
2001-12-04 23:31                         ` Nathan Bryant
2001-12-04 23:44                           ` Doug Ledford
2001-12-05  1:26                             ` Nathan Bryant
2001-12-05  2:48                               ` Nathan Bryant
2001-12-05  3:05                                 ` Doug Ledford
2001-12-05  3:28                                   ` Nathan Bryant
2001-12-05  4:25                                     ` Doug Ledford
2001-12-05  5:14                                       ` Nathan Bryant
2001-12-05  5:23                                         ` Doug Ledford
2001-12-05 20:04                                           ` Nathan Bryant
2001-12-05 20:05                                             ` Nathan Bryant
2001-12-05 20:10                                               ` Doug Ledford
2001-12-05 21:12                                                 ` Nathan Bryant
2001-12-05 21:25                                                   ` Doug Ledford
2001-12-05 21:36                                                     ` Nathan Bryant
2001-12-05 21:56                                                       ` Nathan Bryant
2001-12-05 22:31                                                         ` Doug Ledford
2001-12-05 22:43                                                       ` Doug Ledford
2001-12-05 23:46                                                     ` Nathan Bryant
2001-12-05 23:51                                                       ` Doug Ledford
2001-12-05 23:57                                                       ` Nathan Bryant
2001-12-06  0:25                                                         ` Doug Ledford
2001-12-06  0:50                                                           ` Nathan Bryant
     [not found]                                                           ` <3C0EC0ED.3000603@optonl! ine.net>
2001-12-06  0:55                                                             ` Doug Ledford
     [not found]                                                           ` <3C0EC219.8010107@redhat! .com>
2001-12-06  2:53                                                             ` Nathan Bryant
     [not found]                                                             ` <3C0EDDC2.608@optonl! ine.net>
2001-12-06  3:39                                                               ` Doug Ledford
     [not found]                                                           ` <3C0EC219.8010107@redhat!.com>
     [not found]                                                             ` <3C0EE865.1090607@red! hat.com>
2001-12-06  4:02                                                               ` Nathan Bryant
2001-12-06  4:09                                                                 ` Doug Ledford
2001-12-06 15:45                                                                   ` i810 audio patch (it _works_ for me :) Mario Mikocevic
2001-12-06 17:00                                                                     ` i810 audio patch Pascal Junod
2001-12-05  4:41                                     ` Nathan Bryant
2001-12-05  5:10                                       ` Doug Ledford
2001-12-05  5:35                                         ` Nathan Bryant
2001-12-05  7:24                                         ` Nathan Bryant
2001-12-04 23:05                     ` Doug Ledford
2001-12-04  9:03       ` Alan Cox
  -- strict thread matches above, loose matches on Subject: below --
2001-12-06 19:49 Nathan Bryant

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=3C0D3CF7.6030805@redhat.com \
    --to=dledford@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mozgy@hinet.hr \
    --cc=nbryant@optonline.net \
    /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