Commit 1c3d7700 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394

Pull firewire updates from Stefan Richter:
 "IEEE 1394 subsystem patches:

   - move away from outmoded timekeeping API
   - error reporting fix
   - documentation bits"

* tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
  firewire: ABI documentation: libhinawa uses firewire-cdev
  firewire: ABI documentation: jujuutils were renamed to linux-firewire-utils
  firewire: ohci: propagate return code from soft_reset to probe and resume
  firewire: nosy: Replace timeval with timespec64
parents 3c2de27d e38e5ce8
...@@ -100,4 +100,5 @@ Description: ...@@ -100,4 +100,5 @@ Description:
Users: libraw1394 Users: libraw1394
libdc1394 libdc1394
tools like jujuutils, fwhack, ... libhinawa
tools like linux-firewire-utils, fwhack, ...
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <linux/sched.h> /* required for linux/wait.h */ #include <linux/sched.h> /* required for linux/wait.h */
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/time64.h>
#include <linux/timex.h> #include <linux/timex.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/wait.h> #include <linux/wait.h>
...@@ -413,17 +414,18 @@ static void ...@@ -413,17 +414,18 @@ static void
packet_irq_handler(struct pcilynx *lynx) packet_irq_handler(struct pcilynx *lynx)
{ {
struct client *client; struct client *client;
u32 tcode_mask, tcode; u32 tcode_mask, tcode, timestamp;
size_t length; size_t length;
struct timeval tv; struct timespec64 ts64;
/* FIXME: Also report rcv_speed. */ /* FIXME: Also report rcv_speed. */
length = __le32_to_cpu(lynx->rcv_pcl->pcl_status) & 0x00001fff; length = __le32_to_cpu(lynx->rcv_pcl->pcl_status) & 0x00001fff;
tcode = __le32_to_cpu(lynx->rcv_buffer[1]) >> 4 & 0xf; tcode = __le32_to_cpu(lynx->rcv_buffer[1]) >> 4 & 0xf;
do_gettimeofday(&tv); ktime_get_real_ts64(&ts64);
lynx->rcv_buffer[0] = (__force __le32)tv.tv_usec; timestamp = ts64.tv_nsec / NSEC_PER_USEC;
lynx->rcv_buffer[0] = (__force __le32)timestamp;
if (length == PHY_PACKET_SIZE) if (length == PHY_PACKET_SIZE)
tcode_mask = 1 << TCODE_PHY_PACKET; tcode_mask = 1 << TCODE_PHY_PACKET;
......
...@@ -2278,9 +2278,10 @@ static int ohci_enable(struct fw_card *card, ...@@ -2278,9 +2278,10 @@ static int ohci_enable(struct fw_card *card,
u32 lps, version, irqs; u32 lps, version, irqs;
int i, ret; int i, ret;
if (software_reset(ohci)) { ret = software_reset(ohci);
if (ret < 0) {
ohci_err(ohci, "failed to reset ohci card\n"); ohci_err(ohci, "failed to reset ohci card\n");
return -EBUSY; return ret;
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment