Date: Mon, 9 Feb 2009 19:58:39 +0100 From: Christian Gusenbauer <c47g@gmx.at> To: freebsd-current@freebsd.org Cc: akbeech@gmail.com Subject: Re: lpt stopped working Message-ID: <200902091958.39480.c47g@gmx.at> In-Reply-To: <200902091133.48838.jhb@freebsd.org> References: <200902021643.39862.c47g@gmx.at> <200902061231.46516.beech@freebsd.org> <200902091133.48838.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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} Christian.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902091958.39480.c47g>