aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/firewire/core-device.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/firewire/core-device.c b/drivers/firewire/core-device.c
index 68109e9bb04e..8038311e1737 100644
--- a/drivers/firewire/core-device.c
+++ b/drivers/firewire/core-device.c
@@ -505,7 +505,7 @@ static int read_config_rom(struct fw_device *device, int generation)
505 if (read_rom(device, generation, i, &rom[i]) != RCODE_COMPLETE) 505 if (read_rom(device, generation, i, &rom[i]) != RCODE_COMPLETE)
506 goto out; 506 goto out;
507 /* 507 /*
508 * As per IEEE1212 7.2, during power-up, devices can 508 * As per IEEE1212 7.2, during initialization, devices can
509 * reply with a 0 for the first quadlet of the config 509 * reply with a 0 for the first quadlet of the config
510 * rom to indicate that they are booting (for example, 510 * rom to indicate that they are booting (for example,
511 * if the firmware is on the disk of a external 511 * if the firmware is on the disk of a external
@@ -1071,7 +1071,6 @@ static void fw_device_init(struct work_struct *work)
1071 1071
1072enum { 1072enum {
1073 REREAD_BIB_ERROR, 1073 REREAD_BIB_ERROR,
1074 REREAD_BIB_GONE,
1075 REREAD_BIB_UNCHANGED, 1074 REREAD_BIB_UNCHANGED,
1076 REREAD_BIB_CHANGED, 1075 REREAD_BIB_CHANGED,
1077}; 1076};
@@ -1087,7 +1086,8 @@ static int reread_config_rom(struct fw_device *device, int generation)
1087 return REREAD_BIB_ERROR; 1086 return REREAD_BIB_ERROR;
1088 1087
1089 if (i == 0 && q == 0) 1088 if (i == 0 && q == 0)
1090 return REREAD_BIB_GONE; 1089 /* inaccessible (see read_config_rom); retry later */
1090 return REREAD_BIB_ERROR;
1091 1091
1092 if (q != device->config_rom[i]) 1092 if (q != device->config_rom[i])
1093 return REREAD_BIB_CHANGED; 1093 return REREAD_BIB_CHANGED;
@@ -1114,9 +1114,6 @@ static void fw_device_refresh(struct work_struct *work)
1114 } 1114 }
1115 goto give_up; 1115 goto give_up;
1116 1116
1117 case REREAD_BIB_GONE:
1118 goto gone;
1119
1120 case REREAD_BIB_UNCHANGED: 1117 case REREAD_BIB_UNCHANGED:
1121 if (atomic_cmpxchg(&device->state, 1118 if (atomic_cmpxchg(&device->state,
1122 FW_DEVICE_INITIALIZING, 1119 FW_DEVICE_INITIALIZING,