Date: Fri, 23 May 2014 10:41:45 -0600 From: Warner Losh <imp@bsdimp.com> To: John Baldwin <jhb@freebsd.org> Cc: Hans Petter Selasky <hps@selasky.org>, freebsd-current <freebsd-current@freebsd.org>, Warner Losh <imp@freebsd.org> Subject: Re: panic: resource_list_add: resource entry is busy Message-ID: <31818D06-0553-48B7-921A-B6770F8B8D35@bsdimp.com> In-Reply-To: <201405231007.58608.jhb@freebsd.org> References: <53763B0F.4040003@selasky.org> <5379200E.8080602@selasky.org> <537A65C2.6060203@selasky.org> <201405231007.58608.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_EF3ECCBD-DE4D-4CB9-AB22-828ABA013621 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 On May 23, 2014, at 8:07 AM, John Baldwin <jhb@freebsd.org> wrote: > On Monday, May 19, 2014 4:12:50 pm Hans Petter Selasky wrote: >> On 05/18/14 23:03, Hans Petter Selasky wrote: >>> Hi, >>>=20 >>> First call: >>>=20 >>> resource_list_add: >>=20 >> Hi, >>=20 >> It appears that the /dev/pccard.X is opened and reading some CIS data=20= >> from the device before any driver has been attached. The attached = patch=20 >> solves the panic I've seen. Not sure if the patch is correct. >=20 > Oops, your patch was dropped in my reply, but it just disables=20 > pccard_scan_cis() while a device is probing. Hmmm, that seems like it would break PC Card probing entirely=85 = Otherwise, how would we get here? The stack traces earlier in the thread = suggest that would be the case=85. What=92s the other thing reading /dev/pccard.X though? > Warner, the issue here is that pccard_scan_cis() can do a = bus_alloc_resource()=20 > for SYS_RES_MEMORY rid 0 of a pccard device concurrently with=20 > pccard_function_init(). Hans patch might be along the right track, = though > we might want to make /dev/pccard.X block until pccard_function_init()=20= > finishes rather than causing pccard_scan_cis() to fail. What do you = think? Yes. I=92d say it a bit differently. Only one pccard_scan_cis should be = in flight at a time. http://people.freebsd.org/~imp/patch-queue/cismtx should do the trick. Warner --Apple-Mail=_EF3ECCBD-DE4D-4CB9-AB22-828ABA013621 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJTf3pJAAoJEGwc0Sh9sBEApEUQAOghDqoAiEfG1D3dXSIAbFf2 dLgs+RBefIyC84rrjJgzWHky+/cH2zNzndg4EHPeOXpuqm24EpSDBE9lseUll75O cH+XzLtotoDBewryzR9c44f+y1jzhoR+ZHdiJus2osGUiJfya7TcwjV2LmPH5INk dt9I71gkq/9+2i0eVbuEDv4d5A2gQ8MjNbCwpd5xnZeM3+hAu9HSXaQ9BxqS73nV omX5ku+LOvimRNdAY3V1cbOPZ5WJUSRVPy87YWdlBx9FiKgMrvNsUsE2OCxLmL6O arTTPm4t6DZt3KcWclzaPeiYoqNSkXUjR77xuwEnCp0XazFPrWi1pqPE0f6xgHRw U1OiwC2ytkXHNQsoFFb74ORufatAeQyHuhj4/0c5HiDtRI0EtOs7obt9m+J59tY/ rMK5zLKMr8McvVA+gnkExPN8vgi+DBTUy7336KOc5RQr7SXyGyz9HItPupMXziMO 1KDEB3Z9BFA7iuSVmkQFmIkvmjeOwSU2HyIGuYsT9J2wd4Vb9EjOJDiGLF9/nnU3 FeqKP96/3kRdoIWIAR1Yk4FrVRxlEikbqRNR4K1nMhJgLLsAFxzmrJCb2KGMTUGT ONhwG8yCvNGVXIWkGY3owg27/McRfPmJp+7m8XKLQfinEBRwLm2g2Y90iSpeGpx2 onvxhXQH0Of6Wveed5IQ =Mmh0 -----END PGP SIGNATURE----- --Apple-Mail=_EF3ECCBD-DE4D-4CB9-AB22-828ABA013621--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?31818D06-0553-48B7-921A-B6770F8B8D35>