linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kay Sievers <kay.sievers@vrfy.org>
To: linux-hotplug@vger.kernel.org
Subject: Re: [Report about error: unknown bus]
Date: Thu, 21 Oct 2004 19:58:18 +0000	[thread overview]
Message-ID: <20041021195818.GB17999@vrfy.org> (raw)
In-Reply-To: <1098244606.7230.7.camel@blaze.homeip.net>

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

On Thu, Oct 21, 2004 at 02:40:38PM -0400, Paul Blazejowski wrote:
> On Thu, 2004-10-21 at 10:11 +0200, Kay Sievers wrote:
> > 
> > Hi Paul,
> > here is a new patch, that does not try to open the attribute. It
> > just waits until the file shows up.
> > 
> > Unfortunately, I don't have this hardware to test. If you still get these
> > errors please attach the output from "tree /sys" for the next round. We
> > may just need to add more files to the ieee1394 list, they may be different
> > from device to device.
> 
> Thanks for the fix, i think we are getting closer... udev list only this
> line this time:
> 
> '/devices/pci0000:00/0000:00:0d.0/fw-host0/8a1cc7ffff0020ed' (bus specific file unavailable)
> '/devices/pci0000:00/0000:00:0d.0/fw-host0/8a1cc7ffff0020ed/8a1cc7ffff0020ed-0' (bus specific file unavailable)

Here is the 3rd round, hopefully this will do it :)
The patch is agains the current bk tree.

Thanks for the help,
Kay

[-- Attachment #2: wait-fixes-03.patch --]
[-- Type: text/plain, Size: 2516 bytes --]

===== udev_sysfs.c 1.1 vs edited =====
--- 1.1/udev_sysfs.c	2004-10-19 03:50:52 +02:00
+++ edited/udev_sysfs.c	2004-10-21 21:52:16 +02:00
@@ -93,10 +93,8 @@ static int wait_for_class_device_attribu
 		return 0;
 	}
 
-	strcpy(filename, class_dev->path);
-	strcat(filename, "/");
-	strcat(filename, file);
-	dbg("looking at class '%s' for specific file '%s' with full name %s", class_dev->classname, file, filename);
+	snprintf(filename, SYSFS_PATH_MAX-1, "%s/%s", class_dev->path, file);
+	dbg("looking at class '%s' for specific file '%s'", class_dev->classname, filename);
 
 	loop = WAIT_MAX_SECONDS * WAIT_LOOP_PER_SECOND;
 	while (--loop) {
@@ -167,6 +165,7 @@ static int class_device_expect_no_device
 		{ .subsystem = "net",		.device = "dummy" },
 		{ .subsystem = "net",		.device = "irda" },
 		{ .subsystem = "net",		.device = "ppp" },
+		{ .subsystem = "net",		.device = "tun" },
 		{ .subsystem = "ppp",		.device = NULL },
 		{ .subsystem = "sound",		.device = NULL },
 		{ .subsystem = "printer",	.device = "lp" },
@@ -247,7 +246,10 @@ int wait_for_bus_device(struct sysfs_dev
 		{ .bus = "pci",		.file = "vendor" },
 		{ .bus = "platform",	.file = "detach_state" },
 		{ .bus = "i2c",		.file = "detach_state" },
-		{ NULL }
+		{ .bus = "ieee1394",	.file = "node_count" },
+		{ .bus = "ieee1394",	.file = "nodeid" },
+		{ .bus = "ieee1394",	.file = "address" },
+		{ NULL, NULL }
 	};
 	struct bus_file *busfile;
 	int loop;
@@ -271,19 +273,24 @@ int wait_for_bus_device(struct sysfs_dev
 	/* wait for a bus specific file to show up */
 	loop = WAIT_MAX_SECONDS * WAIT_LOOP_PER_SECOND;
 	while (--loop) {
-		int found = 0;
+		int found_bus_type = 0;
 
 		for (busfile = bus_files; busfile->bus != NULL; busfile++) {
 			if (strcmp(devices_dev->bus, busfile->bus) == 0) {
-				found = 1;
-				dbg("looking at bus '%s' for specific file '%s'", devices_dev->bus, busfile->file);
-				if (sysfs_get_device_attr(devices_dev, busfile->file) != NULL) {
+				char filename[SYSFS_PATH_MAX];
+				struct stat stats;
+
+				found_bus_type = 1;
+				snprintf(filename, SYSFS_PATH_MAX-1, "%s/%s", devices_dev->path, busfile->file);
+				dbg("looking at bus '%s' for specific file '%s'", devices_dev->bus, filename);
+
+				if (stat(filename, &stats) == 0) {
 					dbg("bus '%s' specific file '%s' found", devices_dev->bus, busfile->file);
 					return 0;
 				}
 			}
 		}
-		if (found == 0) {
+		if (found_bus_type == 0) {
 			if (error)
 				*error = "unknown bus";
 			info("error: unknown bus, please report to "

  parent reply	other threads:[~2004-10-21 19:58 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-20  3:56 [Report about error: unknown bus] Paul Blazejowski
2004-10-20  4:27 ` Kay Sievers
2004-10-20  5:33 ` Paul Blazejowski
2004-10-20 13:17 ` Kay Sievers
2004-10-20 17:05 ` Kay Sievers
2004-10-20 17:44 ` Paul Blazejowski
2004-10-20 17:48 ` Paul Blazejowski
2004-10-20 18:03 ` Kay Sievers
2004-10-20 20:44 ` Kay Sievers
2004-10-21  4:15 ` Paul Blazejowski
2004-10-21  8:11 ` Kay Sievers
2004-10-21 18:40 ` Paul Blazejowski
2004-10-21 19:58 ` Kay Sievers [this message]
2004-10-21 20:28 ` Paul Blazejowski

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=20041021195818.GB17999@vrfy.org \
    --to=kay.sievers@vrfy.org \
    --cc=linux-hotplug@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).