Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'staging-5.5-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging

Pull staging fixes from Greg KH:
"Here are some small staging driver fixes for 5.5-rc6.

Nothing major here, just some small fixes for a comedi driver, the
vt6656 driver, and a new device id for the rtl8188eu driver.

All of these have been in linux-next for a while with no reported
issues"

* tag 'staging-5.5-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
staging: rtl8188eu: Add device code for TP-Link TL-WN727N v5.21
staging: comedi: adv_pci1710: fix AI channels 16-31 for PCI-1713
staging: vt6656: set usb_set_intfdata on driver fail.
staging: vt6656: remove bool from vnt_radio_power_on ret
staging: vt6656: limit reg output to block size
staging: vt6656: correct return of vnt_init_registers.
staging: vt6656: Fix non zero logical return of, usb_control_msg

+38 -8
+2 -2
drivers/staging/comedi/drivers/adv_pci1710.c
··· 46 46 #define PCI171X_RANGE_UNI BIT(4) 47 47 #define PCI171X_RANGE_GAIN(x) (((x) & 0x7) << 0) 48 48 #define PCI171X_MUX_REG 0x04 /* W: A/D multiplexor control */ 49 - #define PCI171X_MUX_CHANH(x) (((x) & 0xf) << 8) 50 - #define PCI171X_MUX_CHANL(x) (((x) & 0xf) << 0) 49 + #define PCI171X_MUX_CHANH(x) (((x) & 0xff) << 8) 50 + #define PCI171X_MUX_CHANL(x) (((x) & 0xff) << 0) 51 51 #define PCI171X_MUX_CHAN(x) (PCI171X_MUX_CHANH(x) | PCI171X_MUX_CHANL(x)) 52 52 #define PCI171X_STATUS_REG 0x06 /* R: status register */ 53 53 #define PCI171X_STATUS_IRQ BIT(11) /* 1=IRQ occurred */
+1
drivers/staging/rtl8188eu/os_dep/usb_intf.c
··· 37 37 {USB_DEVICE(0x2001, 0x3311)}, /* DLink GO-USB-N150 REV B1 */ 38 38 {USB_DEVICE(0x2001, 0x331B)}, /* D-Link DWA-121 rev B1 */ 39 39 {USB_DEVICE(0x2357, 0x010c)}, /* TP-Link TL-WN722N v2 */ 40 + {USB_DEVICE(0x2357, 0x0111)}, /* TP-Link TL-WN727N v5.21 */ 40 41 {USB_DEVICE(0x0df6, 0x0076)}, /* Sitecom N150 v2 */ 41 42 {USB_DEVICE(USB_VENDER_ID_REALTEK, 0xffef)}, /* Rosewill RNX-N150NUB */ 42 43 {} /* Terminating entry */
+2 -2
drivers/staging/vt6656/baseband.c
··· 449 449 450 450 memcpy(array, addr, length); 451 451 452 - ret = vnt_control_out(priv, MESSAGE_TYPE_WRITE, 0, 453 - MESSAGE_REQUEST_BBREG, length, array); 452 + ret = vnt_control_out_blocks(priv, VNT_REG_BLOCK_SIZE, 453 + MESSAGE_REQUEST_BBREG, length, array); 454 454 if (ret) 455 455 goto end; 456 456
+1 -1
drivers/staging/vt6656/card.c
··· 719 719 */ 720 720 int vnt_radio_power_on(struct vnt_private *priv) 721 721 { 722 - int ret = true; 722 + int ret = 0; 723 723 724 724 vnt_exit_deep_sleep(priv); 725 725
+1
drivers/staging/vt6656/device.h
··· 259 259 u8 mac_hw; 260 260 /* netdev */ 261 261 struct usb_device *usb; 262 + struct usb_interface *intf; 262 263 263 264 u64 tsf_time; 264 265 u8 rx_rate;
+2 -1
drivers/staging/vt6656/main_usb.c
··· 949 949 950 950 int vnt_init(struct vnt_private *priv) 951 951 { 952 - if (!(vnt_init_registers(priv))) 952 + if (vnt_init_registers(priv)) 953 953 return -EAGAIN; 954 954 955 955 SET_IEEE80211_PERM_ADDR(priv->hw, priv->permanent_net_addr); ··· 992 992 priv = hw->priv; 993 993 priv->hw = hw; 994 994 priv->usb = udev; 995 + priv->intf = intf; 995 996 996 997 vnt_set_options(priv); 997 998
+23 -2
drivers/staging/vt6656/usbpipe.c
··· 59 59 60 60 kfree(usb_buffer); 61 61 62 - if (ret >= 0 && ret < (int)length) 62 + if (ret == (int)length) 63 + ret = 0; 64 + else 63 65 ret = -EIO; 64 66 65 67 end_unlock: ··· 74 72 { 75 73 return vnt_control_out(priv, MESSAGE_TYPE_WRITE, 76 74 reg_off, reg, sizeof(u8), &data); 75 + } 76 + 77 + int vnt_control_out_blocks(struct vnt_private *priv, 78 + u16 block, u8 reg, u16 length, u8 *data) 79 + { 80 + int ret = 0, i; 81 + 82 + for (i = 0; i < length; i += block) { 83 + u16 len = min_t(int, length - i, block); 84 + 85 + ret = vnt_control_out(priv, MESSAGE_TYPE_WRITE, 86 + i, reg, len, data + i); 87 + if (ret) 88 + goto end; 89 + } 90 + end: 91 + return ret; 77 92 } 78 93 79 94 int vnt_control_in(struct vnt_private *priv, u8 request, u16 value, ··· 122 103 123 104 kfree(usb_buffer); 124 105 125 - if (ret >= 0 && ret < (int)length) 106 + if (ret == (int)length) 107 + ret = 0; 108 + else 126 109 ret = -EIO; 127 110 128 111 end_unlock:
+5
drivers/staging/vt6656/usbpipe.h
··· 18 18 19 19 #include "device.h" 20 20 21 + #define VNT_REG_BLOCK_SIZE 64 22 + 21 23 int vnt_control_out(struct vnt_private *priv, u8 request, u16 value, 22 24 u16 index, u16 length, u8 *buffer); 23 25 int vnt_control_in(struct vnt_private *priv, u8 request, u16 value, ··· 27 25 28 26 int vnt_control_out_u8(struct vnt_private *priv, u8 reg, u8 ref_off, u8 data); 29 27 int vnt_control_in_u8(struct vnt_private *priv, u8 reg, u8 reg_off, u8 *data); 28 + 29 + int vnt_control_out_blocks(struct vnt_private *priv, 30 + u16 block, u8 reg, u16 len, u8 *data); 30 31 31 32 int vnt_start_interrupt_urb(struct vnt_private *priv); 32 33 int vnt_submit_rx_urb(struct vnt_private *priv, struct vnt_rcb *rcb);
+1
drivers/staging/vt6656/wcmd.c
··· 99 99 if (vnt_init(priv)) { 100 100 /* If fail all ends TODO retry */ 101 101 dev_err(&priv->usb->dev, "failed to start\n"); 102 + usb_set_intfdata(priv->intf, NULL); 102 103 ieee80211_free_hw(priv->hw); 103 104 return; 104 105 }