From owner-freebsd-current@FreeBSD.ORG Mon Feb 9 19:59:17 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EB6EB1065674 for ; Mon, 9 Feb 2009 19:59:17 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id BBE008FC17 for ; Mon, 9 Feb 2009 19:59:17 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (pool-98-109-39-197.nwrknj.fios.verizon.net [98.109.39.197]) by cyrus.watson.org (Postfix) with ESMTPSA id 3A0F046B23; Mon, 9 Feb 2009 14:59:17 -0500 (EST) Received: from localhost (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.14.3/8.14.3) with ESMTP id n19JxA2N006215; Mon, 9 Feb 2009 14:59:10 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Christian Gusenbauer Date: Mon, 9 Feb 2009 14:58:41 -0500 User-Agent: KMail/1.9.7 References: <200902021643.39862.c47g@gmx.at> <200902091133.48838.jhb@freebsd.org> <200902091958.39480.c47g@gmx.at> In-Reply-To: <200902091958.39480.c47g@gmx.at> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200902091458.41637.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Mon, 09 Feb 2009 14:59:10 -0500 (EST) X-Virus-Scanned: ClamAV 0.94.2/8968/Mon Feb 9 10:06:24 2009 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: freebsd-current@freebsd.org, akbeech@gmail.com Subject: Re: lpt stopped working X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Feb 2009 19:59:18 -0000 On Monday 09 February 2009 1:58:39 pm Christian Gusenbauer wrote: > On Monday 09 February 2009, John Baldwin wrote: > > On Friday 06 February 2009 4:31:46 pm Beech Rintoul wrote: > > > On Thursday 05 February 2009 22:03:37 Beech Rintoul wrote: > > > > On Wednesday 04 February 2009 05:14:10 John Baldwin wrote: > > > > > On Monday 02 February 2009 10:43:39 am Christian Gusenbauer wrote: > > > > > > Hi! > > > > > > > > > > > > Since the recent update (svn r187576) to the ppbus/ppc code my > > > > > > printer > > > > > > > > > > stopped > > > > > > > > > > > working. Every request seems to hang forever in ppb_request_bus > > > > > > waiting for ppb->ppc_lock (at least 'top' tells me that it's > > > > > > hanging in state 'ppbreq'). > > > > > > > > > > Can you use procstat to get a stack trace of the hung thread? > > > > > > > > My printer is still showing "device busy" for lpt0 does anyone know > > > > offhand when the changes were committed? I need to revert. > > > > > > There is regression somewhere in the ppbus code committed two weeks ago. > > > I reverted back to previous code and lpt0 no longer reports "device busy" > > > and printing is working again. > > > > Please help to debug this so we can have working lpt0 in 8.0. No one > > tested the patches months ago when I first posted them, and if folks do not > > test them now I will simply remove the driver before 8.0 ships. I no > > Mea culpa, too. As you sent your patches, I thought someone else will do the > tests surely ... :-(. > > > longer have any hardware such that I can test this directly, so I am > > depending on folks to test things I have asked for and report back. I > > believe the last thing I asked for was for someone to do this when they lpt > > was hung: > > > > Ok, can you run kgdb against your running kernel (Just run 'kgdb' without > > any arguments) and do the following: > > > > (kgdb) p *(struct ppb_data *)ppbus_devclass->devices[0]->softc > > > > Assuming the ppb_owner is not 0, can you then do this: > > > > (kgdb) p *(device_t)((struct ppb_data > > *)ppbus_devclass->devices[0]->softc)->ppb_owner > > This is the output (unfortunately ppb_owner IS 0): > > (kgdb) p *(struct ppb_data *)ppbus_devclass->devices[0]->softc > $1 = {class_id = 10, state = 1, error = 0, mode = 0, ppb_owner = 0x0, > ppc_lock = 0xc56bfe7c, ppc_irq_res = 0xc573d5c0} And this is while lpd or the like is hung trying to write to /dev/lpt0? -- John Baldwin