On Oct 22 Arnd Bergmann wrote: > On Thursday 22 October 2015 04:05:00 Amitoj Kaur Chawla wrote: > > 32 bit systems using 'struct timeval' will break in the year 2038, so > > we replace the code appropriately. However, this driver is not broken > > in 2038 since we are using only the microseconds portion of the > > current time. > > > > This patch replaces timeval with timespec64. > > > > Signed-off-by: Amitoj Kaur Chawla > > Reviewed-by: Arnd Bergmann > > (adding the y2038 mailing list as well) Committed to linux1394.git. Arnd, do you have special y2038 plans that make it desirable to have this merged before v4.4? Otherwise I would submit it for v4.5-rc1. > > Changes in v2: > > -Replaced timespec with timspec64 > > -Modified commit message > > -Used ktime_get_real_ts64() instead of getnstimeofday64() > > > > drivers/firewire/nosy.c | 10 ++++++---- > > 1 file changed, 6 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/firewire/nosy.c b/drivers/firewire/nosy.c > > index 76b2d39..8a46077 100644 > > --- a/drivers/firewire/nosy.c > > +++ b/drivers/firewire/nosy.c > > @@ -33,6 +33,7 @@ > > #include /* required for linux/wait.h */ > > #include > > #include > > +#include > > #include > > #include > > #include > > @@ -413,17 +414,18 @@ static void > > packet_irq_handler(struct pcilynx *lynx) > > { > > struct client *client; > > - u32 tcode_mask, tcode; > > + u32 tcode_mask, tcode, timestamp; > > size_t length; > > - struct timeval tv; > > + struct timespec64 ts64; > > > > /* FIXME: Also report rcv_speed. */ > > > > length = __le32_to_cpu(lynx->rcv_pcl->pcl_status) & 0x00001fff; > > tcode = __le32_to_cpu(lynx->rcv_buffer[1]) >> 4 & 0xf; > > > > - do_gettimeofday(&tv); > > - lynx->rcv_buffer[0] = (__force __le32)tv.tv_usec; > > + ktime_get_real_ts64(&ts64); > > + timestamp = ts64.tv_nsec / NSEC_PER_USEC; > > + lynx->rcv_buffer[0] = (__force __le32)timestamp; > > > > if (length == PHY_PACKET_SIZE) > > tcode_mask = 1 << TCODE_PHY_PACKET; > > > -- Stefan Richter -=====-===== =-== --=-= http://arcgraph.de/sr/