FreeBSD Bugzilla – Attachment 61478 Details for
Bug 92131
[PATCH] comms/ltmdm fix kernel panic on recent current
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 5.63 KB, created by
redchrom
on 2006-01-22 04:50:03 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
redchrom
Created:
2006-01-22 04:50:03 UTC
Size:
5.63 KB
patch
obsolete
>diff -urN ltmdm.orig/Makefile ltmdm/Makefile >--- ltmdm.orig/Makefile Sat Jan 21 19:44:30 2006 >+++ ltmdm/Makefile Sat Jan 21 19:45:50 2006 >@@ -7,7 +7,7 @@ > > PORTNAME= ltmdm > PORTVERSION= 1.4 >-PORTREVISION= 15 >+PORTREVISION= 16 > CATEGORIES= comms > MASTER_SITES= http://www.dons.net.au/~darius/ > EXTRACT_SUFX= .tgz >diff -urN ltmdm.orig/files/patch-sys-dev-ltmdm-ltmdmsio.c ltmdm/files/patch-sys-dev-ltmdm-ltmdmsio.c >--- ltmdm.orig/files/patch-sys-dev-ltmdm-ltmdmsio.c Sat Jan 21 19:44:30 2006 >+++ ltmdm/files/patch-sys-dev-ltmdm-ltmdmsio.c Sat Jan 21 19:39:50 2006 >@@ -1,5 +1,5 @@ >---- sys/dev/ltmdm/ltmdmsio.c.orig Tue Mar 12 04:47:31 2002 >-+++ sys/dev/ltmdm/ltmdmsio.c Sat Nov 5 07:27:48 2005 >+--- ltmdmsio.c.orig Tue Mar 12 09:47:31 2002 >++++ ltmdmsio.c Sat Jan 21 19:36:48 2006 > @@ -60,7 +60,9 @@ > #include <sys/proc.h> > #include <sys/module.h> >@@ -286,7 +286,19 @@ > { > struct com_s *com; > int error; >-@@ -1610,7 +1690,11 @@ >+@@ -1488,7 +1568,11 @@ >+ return (ENXIO); >+ if (mynor & CONTROL_MASK) >+ return (0); >++#if __FreeBSD_version >= 700013 >++ tp = dev->si_tty = com->tp = ttyalloc(); >++#else >+ tp = dev->si_tty = com->tp = ttymalloc(com->tp); >++#endif >+ s = splfunc(); >+ /* >+ * We jump to this label after all non-interrupted sleeps to pick >+@@ -1610,7 +1694,11 @@ > * the true carrier. > */ > if (com->prev_modem_status & MSR_DCD || mynor & CALLOUT_MASK) >@@ -298,7 +310,7 @@ > } > /* > * Wait for DCD if necessary. >-@@ -1626,7 +1710,11 @@ >+@@ -1626,7 +1714,11 @@ > goto out; > goto open_top; > } >@@ -310,7 +322,7 @@ > disc_optim(tp, &tp->t_termios, com); > if (tp->t_state & TS_ISOPEN && mynor & CALLOUT_MASK) > com->active_out = TRUE; >-@@ -1639,7 +1727,11 @@ >+@@ -1639,7 +1731,11 @@ > } > > static int >@@ -322,7 +334,7 @@ > { > struct com_s *com; > int mynor; >-@@ -1654,11 +1746,19 @@ >+@@ -1654,11 +1750,19 @@ > return (ENODEV); > tp = com->tp; > s = splfunc(); >@@ -342,7 +354,7 @@ > siosettimeout(); > splx(s); > if (com->gone) { >-@@ -1685,7 +1785,9 @@ >+@@ -1685,7 +1789,9 @@ > s = splfunc(); > com->do_timestamp = FALSE; > com->do_dcd_timestamp = FALSE; >@@ -352,7 +364,7 @@ > write_vuart_port(UART_CFCR, com->cfcr_image &= ~CFCR_SBREAK); > { > write_vuart_port(UART_IER, 0); >-@@ -1724,7 +1826,11 @@ >+@@ -1724,7 +1830,11 @@ > } > > static int >@@ -364,7 +376,7 @@ > { > int mynor; > struct com_s *com; >-@@ -1735,11 +1841,19 @@ >+@@ -1735,11 +1845,19 @@ > com = com_addr(MINOR_TO_UNIT(mynor)); > if (com == NULL || com->gone) > return (ENODEV); >@@ -384,7 +396,7 @@ > { > int mynor; > struct com_s *com; >-@@ -1754,7 +1868,11 @@ >+@@ -1754,7 +1872,11 @@ > if (com == NULL || com->gone) > return (ENODEV); > >@@ -396,7 +408,7 @@ > } > > static void >-@@ -1860,7 +1978,11 @@ >+@@ -1860,7 +1982,11 @@ > if (line_status & LSR_PE) > recv_data |= TTY_PE; > } >@@ -408,7 +420,7 @@ > lt_disable_intr(); > } while (buf < com->iptr); > } >-@@ -1894,23 +2016,34 @@ >+@@ -1894,23 +2020,34 @@ > u_char recv_data; > u_char int_ctl; > u_char int_ctl_new; >@@ -443,7 +455,7 @@ > line_status = read_vuart_port(UART_LSR); > > /* input event? (check first to help avoid overruns) */ >-@@ -1948,7 +2081,11 @@ >+@@ -1948,7 +2085,11 @@ > recv_data = 0; > } > ++com->bytes_in; >@@ -455,7 +467,7 @@ > setsofttty(); > ioptr = com->iptr; > if (ioptr >= com->ibufend) >-@@ -2053,7 +2190,11 @@ >+@@ -2053,7 +2194,11 @@ > } > > static int >@@ -467,7 +479,7 @@ > { > struct com_s *com; > int error; >-@@ -2103,6 +2244,7 @@ >+@@ -2103,6 +2248,7 @@ > } > } > tp = com->tp; >@@ -475,7 +487,7 @@ > #if defined(COMPAT_43) || defined(COMPAT_SUNOS) > term = tp->t_termios; > oldcmd = cmd; >-@@ -2112,6 +2254,7 @@ >+@@ -2112,6 +2258,7 @@ > if (cmd != oldcmd) > data = (caddr_t)&term; > #endif >@@ -483,7 +495,7 @@ > if (cmd == TIOCSETA || cmd == TIOCSETAW || cmd == TIOCSETAF) { > int cc; > struct termios *dt = (struct termios *)data; >-@@ -2134,7 +2277,11 @@ >+@@ -2134,7 +2281,11 @@ > if (lt->c_ospeed != 0) > dt->c_ospeed = tp->t_ospeed; > } >@@ -495,7 +507,7 @@ > if (error != ENOIOCTL) > return (error); > s = splfunc(); >-@@ -2189,13 +2336,17 @@ >+@@ -2189,13 +2340,17 @@ > com->do_timestamp = TRUE; > *(struct timeval *)data = com->timestamp; > break; >@@ -513,7 +525,7 @@ > if (error == ENODEV) > error = ENOTTY; > return (error); >-@@ -2257,8 +2408,13 @@ >+@@ -2257,8 +2412,13 @@ > com->state &= ~CS_CHECKMSR; > lt_enable_intr(); > if (delta_modem_status & MSR_DCD) >@@ -527,7 +539,7 @@ > } > if (com->state & CS_ODONE) { > lt_disable_intr(); >-@@ -2270,7 +2426,11 @@ >+@@ -2270,7 +2430,11 @@ > sio_busycheck_handle = timeout(siobusycheck, com, hz / 100); > com->extra_state |= CSE_BUSYCHECK; > } >@@ -539,7 +551,7 @@ > } > if (com_events == 0) > break; >-@@ -2769,11 +2929,21 @@ >+@@ -2769,11 +2933,21 @@ > && (!(t->c_iflag & PARMRK) > || (t->c_iflag & (IGNPAR | IGNBRK)) == (IGNPAR | IGNBRK)) > && !(t->c_lflag & (ECHO | ICANON | IEXTEN | ISIG | PENDIN)) >@@ -561,7 +573,7 @@ > } > > #ifdef KLD_MODULE >-@@ -2796,7 +2966,7 @@ >+@@ -2796,7 +2970,7 @@ > #endif > > DRIVER_MODULE(ltmdm, pci, ltmdm_pci_driver, ltmdm_devclass, ltmdm_event, 0);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 92131
: 61478