Skip to content

Commit 51f5845

Browse files
author
Alex Shi
committed
Merge tag 'v4.4.95' into linux-linaro-lsk-v4.4
This is the 4.4.95 stable release
2 parents fb596ec + 9b36699 commit 51f5845

47 files changed

Lines changed: 325 additions & 254 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
VERSION = 4
22
PATCHLEVEL = 4
3-
SUBLEVEL = 94
3+
SUBLEVEL = 95
44
EXTRAVERSION =
55
NAME = Blurry Fish Butt
66

arch/parisc/kernel/syscall.S

Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -479,11 +479,6 @@ lws_start:
479479
comiclr,>> __NR_lws_entries, %r20, %r0
480480
b,n lws_exit_nosys
481481

482-
/* WARNING: Trashing sr2 and sr3 */
483-
mfsp %sr7,%r1 /* get userspace into sr3 */
484-
mtsp %r1,%sr3
485-
mtsp %r0,%sr2 /* get kernel space into sr2 */
486-
487482
/* Load table start */
488483
ldil L%lws_table, %r1
489484
ldo R%lws_table(%r1), %r28 /* Scratch use of r28 */
@@ -632,9 +627,9 @@ cas_action:
632627
stw %r1, 4(%sr2,%r20)
633628
#endif
634629
/* The load and store could fail */
635-
1: ldw,ma 0(%sr3,%r26), %r28
630+
1: ldw,ma 0(%r26), %r28
636631
sub,<> %r28, %r25, %r0
637-
2: stw,ma %r24, 0(%sr3,%r26)
632+
2: stw,ma %r24, 0(%r26)
638633
/* Free lock */
639634
stw,ma %r20, 0(%sr2,%r20)
640635
#if ENABLE_LWS_DEBUG
@@ -711,29 +706,29 @@ lws_compare_and_swap_2:
711706
nop
712707

713708
/* 8bit load */
714-
4: ldb 0(%sr3,%r25), %r25
709+
4: ldb 0(%r25), %r25
715710
b cas2_lock_start
716-
5: ldb 0(%sr3,%r24), %r24
711+
5: ldb 0(%r24), %r24
717712
nop
718713
nop
719714
nop
720715
nop
721716
nop
722717

723718
/* 16bit load */
724-
6: ldh 0(%sr3,%r25), %r25
719+
6: ldh 0(%r25), %r25
725720
b cas2_lock_start
726-
7: ldh 0(%sr3,%r24), %r24
721+
7: ldh 0(%r24), %r24
727722
nop
728723
nop
729724
nop
730725
nop
731726
nop
732727

733728
/* 32bit load */
734-
8: ldw 0(%sr3,%r25), %r25
729+
8: ldw 0(%r25), %r25
735730
b cas2_lock_start
736-
9: ldw 0(%sr3,%r24), %r24
731+
9: ldw 0(%r24), %r24
737732
nop
738733
nop
739734
nop
@@ -742,14 +737,14 @@ lws_compare_and_swap_2:
742737

743738
/* 64bit load */
744739
#ifdef CONFIG_64BIT
745-
10: ldd 0(%sr3,%r25), %r25
746-
11: ldd 0(%sr3,%r24), %r24
740+
10: ldd 0(%r25), %r25
741+
11: ldd 0(%r24), %r24
747742
#else
748-
/* Load new value into r22/r23 - high/low */
749-
10: ldw 0(%sr3,%r25), %r22
750-
11: ldw 4(%sr3,%r25), %r23
743+
/* Load old value into r22/r23 - high/low */
744+
10: ldw 0(%r25), %r22
745+
11: ldw 4(%r25), %r23
751746
/* Load new value into fr4 for atomic store later */
752-
12: flddx 0(%sr3,%r24), %fr4
747+
12: flddx 0(%r24), %fr4
753748
#endif
754749

755750
cas2_lock_start:
@@ -799,53 +794,53 @@ cas2_action:
799794
ldo 1(%r0),%r28
800795

801796
/* 8bit CAS */
802-
13: ldb,ma 0(%sr3,%r26), %r29
797+
13: ldb,ma 0(%r26), %r29
803798
sub,= %r29, %r25, %r0
804799
b,n cas2_end
805-
14: stb,ma %r24, 0(%sr3,%r26)
800+
14: stb,ma %r24, 0(%r26)
806801
b cas2_end
807802
copy %r0, %r28
808803
nop
809804
nop
810805

811806
/* 16bit CAS */
812-
15: ldh,ma 0(%sr3,%r26), %r29
807+
15: ldh,ma 0(%r26), %r29
813808
sub,= %r29, %r25, %r0
814809
b,n cas2_end
815-
16: sth,ma %r24, 0(%sr3,%r26)
810+
16: sth,ma %r24, 0(%r26)
816811
b cas2_end
817812
copy %r0, %r28
818813
nop
819814
nop
820815

821816
/* 32bit CAS */
822-
17: ldw,ma 0(%sr3,%r26), %r29
817+
17: ldw,ma 0(%r26), %r29
823818
sub,= %r29, %r25, %r0
824819
b,n cas2_end
825-
18: stw,ma %r24, 0(%sr3,%r26)
820+
18: stw,ma %r24, 0(%r26)
826821
b cas2_end
827822
copy %r0, %r28
828823
nop
829824
nop
830825

831826
/* 64bit CAS */
832827
#ifdef CONFIG_64BIT
833-
19: ldd,ma 0(%sr3,%r26), %r29
828+
19: ldd,ma 0(%r26), %r29
834829
sub,*= %r29, %r25, %r0
835830
b,n cas2_end
836-
20: std,ma %r24, 0(%sr3,%r26)
831+
20: std,ma %r24, 0(%r26)
837832
copy %r0, %r28
838833
#else
839834
/* Compare first word */
840-
19: ldw,ma 0(%sr3,%r26), %r29
835+
19: ldw 0(%r26), %r29
841836
sub,= %r29, %r22, %r0
842837
b,n cas2_end
843838
/* Compare second word */
844-
20: ldw,ma 4(%sr3,%r26), %r29
839+
20: ldw 4(%r26), %r29
845840
sub,= %r29, %r23, %r0
846841
b,n cas2_end
847842
/* Perform the store */
848-
21: fstdx %fr4, 0(%sr3,%r26)
843+
21: fstdx %fr4, 0(%r26)
849844
copy %r0, %r28
850845
#endif
851846

crypto/asymmetric_keys/pkcs7_parser.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ static int pkcs7_check_authattrs(struct pkcs7_message *msg)
9090
bool want;
9191

9292
sinfo = msg->signed_infos;
93+
if (!sinfo)
94+
goto inconsistent;
95+
9396
if (sinfo->authattrs) {
9497
want = true;
9598
msg->have_authattrs = true;

drivers/bus/mvebu-mbus.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -720,7 +720,7 @@ mvebu_mbus_default_setup_cpu_target(struct mvebu_mbus_state *mbus)
720720
if (mbus->hw_io_coherency)
721721
w->mbus_attr |= ATTR_HW_COHERENCY;
722722
w->base = base & DDR_BASE_CS_LOW_MASK;
723-
w->size = (size | ~DDR_SIZE_MASK) + 1;
723+
w->size = (u64)(size | ~DDR_SIZE_MASK) + 1;
724724
}
725725
}
726726
mvebu_mbus_dram_info.num_cs = cs;

drivers/clocksource/cs5535-clockevt.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@ static irqreturn_t mfgpt_tick(int irq, void *dev_id)
117117
/* Turn off the clock (and clear the event) */
118118
disable_timer(cs5535_event_clock);
119119

120-
if (clockevent_state_shutdown(&cs5535_clockevent))
120+
if (clockevent_state_detached(&cs5535_clockevent) ||
121+
clockevent_state_shutdown(&cs5535_clockevent))
121122
return IRQ_HANDLED;
122123

123124
/* Clear the counter */

drivers/gpu/drm/nouveau/nvkm/engine/bsp/g84.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,5 @@ int
4040
g84_bsp_new(struct nvkm_device *device, int index, struct nvkm_engine **pengine)
4141
{
4242
return nvkm_xtensa_new_(&g84_bsp, device, index,
43-
true, 0x103000, pengine);
43+
device->chipset != 0x92, 0x103000, pengine);
4444
}

drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,8 @@ nvkm_vm_unmap_pgt(struct nvkm_vm *vm, int big, u32 fpde, u32 lpde)
240240
mmu->func->map_pgt(vpgd->obj, pde, vpgt->mem);
241241
}
242242

243+
mmu->func->flush(vm);
244+
243245
nvkm_memory_del(&pgt);
244246
}
245247
}

drivers/i2c/busses/i2c-ismt.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,12 +338,15 @@ static int ismt_process_desc(const struct ismt_desc *desc,
338338
data->word = dma_buffer[0] | (dma_buffer[1] << 8);
339339
break;
340340
case I2C_SMBUS_BLOCK_DATA:
341-
case I2C_SMBUS_I2C_BLOCK_DATA:
342341
if (desc->rxbytes != dma_buffer[0] + 1)
343342
return -EMSGSIZE;
344343

345344
memcpy(data->block, dma_buffer, desc->rxbytes);
346345
break;
346+
case I2C_SMBUS_I2C_BLOCK_DATA:
347+
memcpy(&data->block[1], dma_buffer, desc->rxbytes);
348+
data->block[0] = desc->rxbytes;
349+
break;
347350
}
348351
return 0;
349352
}

drivers/net/can/usb/esd_usb2.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ static void esd_usb2_rx_can_msg(struct esd_usb2_net_priv *priv,
333333
}
334334

335335
cf->can_id = id & ESD_IDMASK;
336-
cf->can_dlc = get_can_dlc(msg->msg.rx.dlc);
336+
cf->can_dlc = get_can_dlc(msg->msg.rx.dlc & ~ESD_RTR);
337337

338338
if (id & ESD_EXTID)
339339
cf->can_id |= CAN_EFF_FLAG;

drivers/net/can/usb/gs_usb.c

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,8 @@ static void gs_usb_receive_bulk_callback(struct urb *urb)
356356

357357
gs_free_tx_context(txc);
358358

359+
atomic_dec(&dev->active_tx_urbs);
360+
359361
netif_wake_queue(netdev);
360362
}
361363

@@ -444,14 +446,6 @@ static void gs_usb_xmit_callback(struct urb *urb)
444446
urb->transfer_buffer_length,
445447
urb->transfer_buffer,
446448
urb->transfer_dma);
447-
448-
atomic_dec(&dev->active_tx_urbs);
449-
450-
if (!netif_device_present(netdev))
451-
return;
452-
453-
if (netif_queue_stopped(netdev))
454-
netif_wake_queue(netdev);
455449
}
456450

457451
static netdev_tx_t gs_can_start_xmit(struct sk_buff *skb, struct net_device *netdev)

0 commit comments

Comments
 (0)