Re: firewire disk stopped working
Sean Bruno <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.firewire |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 2009-02-19 at 03:12 +0200, Boris Kotzev wrote: > On сряда 18 февруари 2009 21:26:31 you wrote: > > On Sun, 2009-02-15 at 17:27 +0200, Boris Kotzev wrote: > > > On неделя 15 февруари 2009 01:12:40 you wrote: > > > > If you haven't already, boot back into the previous kernel environment > > > > and let me know what revision of CURRENT it was that worked. > > > > > > > > Then I'll need to know what version you were using that broke. > > > > > > > > I'm trying to get my AMD64 system built this weekend to test things. > > > > > > > > Sean > > > > > > Verbose dmesg from the working system: > > > > > > http://host7.net62.hdsl-213-169.fastbg.net/dmesg.working.txt > > > > > > Verbose dmesg from the broken system: > > > > > > http://host7.net62.hdsl-213-169.fastbg.net/dmesg.broken.txt > > > > > > (The cable was plugged in after the system had had already booted - the > > > output from the disk is found at the end.) > > > > > > Please, feel free to ask for more details, if necessary. > > > > > > Thanks, > > > > > > Boris Kotzev > > > > Looking over your logs, I can't quite see what the failure is. There > > seems to be a format error, I'm just not sure what is being requested. > > > > Can you update to -current, and set: > > debug.sbp_debug = 1 > > debug.firewire_debug = 1 > > > > Then repost your dmesg. > > > > Sean > > Hi, > > The dmesg output after plugging the cable are as follows (full verbose dmesg can be > found at http://host7.net62.hdsl-213-169.fastbg.net/dmesg.debug.txt ): I went over everything and came up with the following patch. Let me apply this to -current and let me know if it makes any difference. Sean _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-firewire To unsubscribe, send any mail to "[email protected]"
firewire.c.diff
(text/x-patch, 1.1 KB)
Index: firewire.c
===================================================================
--- firewire.c (revision 188750)
+++ firewire.c (working copy)
@@ -31,7 +31,7 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: head/sys/dev/firewire/firewire.c 188726 2009-02-17 19:37:04Z sbruno $
*
*/
@@ -685,7 +685,7 @@
src->businfo.cyc_clk_acc = 100;
src->businfo.max_rec = fc->maxrec;
src->businfo.max_rom = MAXROM_4;
- src->businfo.generation = 0;
+ src->businfo.generation = 1;
src->businfo.link_spd = fc->speed;
src->businfo.eui64.hi = fc->eui.hi;
@@ -765,12 +765,10 @@
* indicate that we need to be reprobed
*/
if (bcmp(src, fc->config_rom, CROMSIZE) != 0) {
- /* generation is a 2 bit field */
- /* valid values are only from 0 - 3 */
- src->businfo.generation = 1;
+ if ( src->businfo.generation++ > 0xF )
+ src->businfo.generation = 2;
bcopy(src, (void *)fc->config_rom, CROMSIZE);
- } else
- src->businfo.generation = 0;
+ }
}
/* Call once after reboot */