@@ -16,34 +16,34 @@ static inline const char *cdns2_decode_usb_irq(char *str, size_t size,
16
16
{
17
17
int ret ;
18
18
19
- ret = snprintf (str , size , "usbirq: 0x%02x - " , usb_irq );
19
+ ret = scnprintf (str , size , "usbirq: 0x%02x - " , usb_irq );
20
20
21
21
if (usb_irq & USBIRQ_SOF )
22
- ret += snprintf (str + ret , size - ret , "SOF " );
22
+ ret += scnprintf (str + ret , size - ret , "SOF " );
23
23
if (usb_irq & USBIRQ_SUTOK )
24
- ret += snprintf (str + ret , size - ret , "SUTOK " );
24
+ ret += scnprintf (str + ret , size - ret , "SUTOK " );
25
25
if (usb_irq & USBIRQ_SUDAV )
26
- ret += snprintf (str + ret , size - ret , "SETUP " );
26
+ ret += scnprintf (str + ret , size - ret , "SETUP " );
27
27
if (usb_irq & USBIRQ_SUSPEND )
28
- ret += snprintf (str + ret , size - ret , "Suspend " );
28
+ ret += scnprintf (str + ret , size - ret , "Suspend " );
29
29
if (usb_irq & USBIRQ_URESET )
30
- ret += snprintf (str + ret , size - ret , "Reset " );
30
+ ret += scnprintf (str + ret , size - ret , "Reset " );
31
31
if (usb_irq & USBIRQ_HSPEED )
32
- ret += snprintf (str + ret , size - ret , "HS " );
32
+ ret += scnprintf (str + ret , size - ret , "HS " );
33
33
if (usb_irq & USBIRQ_LPM )
34
- ret += snprintf (str + ret , size - ret , "LPM " );
34
+ ret += scnprintf (str + ret , size - ret , "LPM " );
35
35
36
- ret += snprintf (str + ret , size - ret , ", EXT: 0x%02x - " , ext_irq );
36
+ ret += scnprintf (str + ret , size - ret , ", EXT: 0x%02x - " , ext_irq );
37
37
38
38
if (ext_irq & EXTIRQ_WAKEUP )
39
- ret += snprintf (str + ret , size - ret , "Wakeup " );
39
+ ret += scnprintf (str + ret , size - ret , "Wakeup " );
40
40
if (ext_irq & EXTIRQ_VBUSFAULT_FALL )
41
- ret += snprintf (str + ret , size - ret , "VBUS_FALL " );
41
+ ret += scnprintf (str + ret , size - ret , "VBUS_FALL " );
42
42
if (ext_irq & EXTIRQ_VBUSFAULT_RISE )
43
- ret += snprintf (str + ret , size - ret , "VBUS_RISE " );
43
+ ret += scnprintf (str + ret , size - ret , "VBUS_RISE " );
44
44
45
- if (ret >= size )
46
- pr_info ("CDNS2: buffer overflowed .\n" );
45
+ if (ret == size - 1 )
46
+ pr_info ("CDNS2: buffer may be truncated .\n" );
47
47
48
48
return str ;
49
49
}
@@ -54,28 +54,28 @@ static inline const char *cdns2_decode_dma_irq(char *str, size_t size,
54
54
{
55
55
int ret ;
56
56
57
- ret = snprintf (str , size , "ISTS: %08x, %s: %08x " ,
58
- ep_ists , ep_name , ep_sts );
57
+ ret = scnprintf (str , size , "ISTS: %08x, %s: %08x " ,
58
+ ep_ists , ep_name , ep_sts );
59
59
60
60
if (ep_sts & DMA_EP_STS_IOC )
61
- ret += snprintf (str + ret , size - ret , "IOC " );
61
+ ret += scnprintf (str + ret , size - ret , "IOC " );
62
62
if (ep_sts & DMA_EP_STS_ISP )
63
- ret += snprintf (str + ret , size - ret , "ISP " );
63
+ ret += scnprintf (str + ret , size - ret , "ISP " );
64
64
if (ep_sts & DMA_EP_STS_DESCMIS )
65
- ret += snprintf (str + ret , size - ret , "DESCMIS " );
65
+ ret += scnprintf (str + ret , size - ret , "DESCMIS " );
66
66
if (ep_sts & DMA_EP_STS_TRBERR )
67
- ret += snprintf (str + ret , size - ret , "TRBERR " );
67
+ ret += scnprintf (str + ret , size - ret , "TRBERR " );
68
68
if (ep_sts & DMA_EP_STS_OUTSMM )
69
- ret += snprintf (str + ret , size - ret , "OUTSMM " );
69
+ ret += scnprintf (str + ret , size - ret , "OUTSMM " );
70
70
if (ep_sts & DMA_EP_STS_ISOERR )
71
- ret += snprintf (str + ret , size - ret , "ISOERR " );
71
+ ret += scnprintf (str + ret , size - ret , "ISOERR " );
72
72
if (ep_sts & DMA_EP_STS_DBUSY )
73
- ret += snprintf (str + ret , size - ret , "DBUSY " );
73
+ ret += scnprintf (str + ret , size - ret , "DBUSY " );
74
74
if (DMA_EP_STS_CCS (ep_sts ))
75
- ret += snprintf (str + ret , size - ret , "CCS " );
75
+ ret += scnprintf (str + ret , size - ret , "CCS " );
76
76
77
- if (ret >= size )
78
- pr_info ("CDNS2: buffer overflowed .\n" );
77
+ if (ret == size - 1 )
78
+ pr_info ("CDNS2: buffer may be truncated .\n" );
79
79
80
80
return str ;
81
81
}
@@ -105,43 +105,43 @@ static inline const char *cdns2_raw_ring(struct cdns2_endpoint *pep,
105
105
int ret ;
106
106
int i ;
107
107
108
- ret = snprintf (str , size , "\n\t\tTR for %s:" , pep -> name );
108
+ ret = scnprintf (str , size , "\n\t\tTR for %s:" , pep -> name );
109
109
110
110
trb = & trbs [ring -> dequeue ];
111
111
dma = cdns2_trb_virt_to_dma (pep , trb );
112
- ret += snprintf (str + ret , size - ret ,
113
- "\n\t\tRing deq index: %d, trb: V=%p, P=0x%pad\n" ,
114
- ring -> dequeue , trb , & dma );
112
+ ret += scnprintf (str + ret , size - ret ,
113
+ "\n\t\tRing deq index: %d, trb: V=%p, P=0x%pad\n" ,
114
+ ring -> dequeue , trb , & dma );
115
115
116
116
trb = & trbs [ring -> enqueue ];
117
117
dma = cdns2_trb_virt_to_dma (pep , trb );
118
- ret += snprintf (str + ret , size - ret ,
119
- "\t\tRing enq index: %d, trb: V=%p, P=0x%pad\n" ,
120
- ring -> enqueue , trb , & dma );
118
+ ret += scnprintf (str + ret , size - ret ,
119
+ "\t\tRing enq index: %d, trb: V=%p, P=0x%pad\n" ,
120
+ ring -> enqueue , trb , & dma );
121
121
122
- ret += snprintf (str + ret , size - ret ,
123
- "\t\tfree trbs: %d, CCS=%d, PCS=%d\n" ,
124
- ring -> free_trbs , ring -> ccs , ring -> pcs );
122
+ ret += scnprintf (str + ret , size - ret ,
123
+ "\t\tfree trbs: %d, CCS=%d, PCS=%d\n" ,
124
+ ring -> free_trbs , ring -> ccs , ring -> pcs );
125
125
126
126
if (TRBS_PER_SEGMENT > 40 ) {
127
- ret += snprintf (str + ret , size - ret ,
128
- "\t\tTransfer ring %d too big\n" , TRBS_PER_SEGMENT );
127
+ ret += scnprintf (str + ret , size - ret ,
128
+ "\t\tTransfer ring %d too big\n" , TRBS_PER_SEGMENT );
129
129
return str ;
130
130
}
131
131
132
132
dma = ring -> dma ;
133
133
for (i = 0 ; i < TRBS_PER_SEGMENT ; ++ i ) {
134
134
trb = & trbs [i ];
135
- ret += snprintf (str + ret , size - ret ,
136
- "\t\t@%pad %08x %08x %08x\n" , & dma ,
137
- le32_to_cpu (trb -> buffer ),
138
- le32_to_cpu (trb -> length ),
139
- le32_to_cpu (trb -> control ));
135
+ ret += scnprintf (str + ret , size - ret ,
136
+ "\t\t@%pad %08x %08x %08x\n" , & dma ,
137
+ le32_to_cpu (trb -> buffer ),
138
+ le32_to_cpu (trb -> length ),
139
+ le32_to_cpu (trb -> control ));
140
140
dma += sizeof (* trb );
141
141
}
142
142
143
- if (ret >= size )
144
- pr_info ("CDNS2: buffer overflowed .\n" );
143
+ if (ret == size - 1 )
144
+ pr_info ("CDNS2: buffer may be truncated .\n" );
145
145
146
146
return str ;
147
147
}
@@ -166,36 +166,36 @@ static inline const char *cdns2_decode_trb(char *str, size_t size, u32 flags,
166
166
167
167
switch (type ) {
168
168
case TRB_LINK :
169
- ret = snprintf (str , size ,
170
- "LINK %08x type '%s' flags %c:%c:%c%c:%c" ,
171
- buffer , cdns2_trb_type_string (type ),
172
- flags & TRB_CYCLE ? 'C' : 'c' ,
173
- flags & TRB_TOGGLE ? 'T' : 't' ,
174
- flags & TRB_CHAIN ? 'C' : 'c' ,
175
- flags & TRB_CHAIN ? 'H' : 'h' ,
176
- flags & TRB_IOC ? 'I' : 'i' );
169
+ ret = scnprintf (str , size ,
170
+ "LINK %08x type '%s' flags %c:%c:%c%c:%c" ,
171
+ buffer , cdns2_trb_type_string (type ),
172
+ flags & TRB_CYCLE ? 'C' : 'c' ,
173
+ flags & TRB_TOGGLE ? 'T' : 't' ,
174
+ flags & TRB_CHAIN ? 'C' : 'c' ,
175
+ flags & TRB_CHAIN ? 'H' : 'h' ,
176
+ flags & TRB_IOC ? 'I' : 'i' );
177
177
break ;
178
178
case TRB_NORMAL :
179
- ret = snprintf (str , size ,
180
- "type: '%s', Buffer: %08x, length: %ld, burst len: %ld, "
181
- "flags %c:%c:%c%c:%c" ,
182
- cdns2_trb_type_string (type ),
183
- buffer , TRB_LEN (length ),
184
- TRB_FIELD_TO_BURST (length ),
185
- flags & TRB_CYCLE ? 'C' : 'c' ,
186
- flags & TRB_ISP ? 'I' : 'i' ,
187
- flags & TRB_CHAIN ? 'C' : 'c' ,
188
- flags & TRB_CHAIN ? 'H' : 'h' ,
189
- flags & TRB_IOC ? 'I' : 'i' );
179
+ ret = scnprintf (str , size ,
180
+ "type: '%s', Buffer: %08x, length: %ld, burst len: %ld, "
181
+ "flags %c:%c:%c%c:%c" ,
182
+ cdns2_trb_type_string (type ),
183
+ buffer , TRB_LEN (length ),
184
+ TRB_FIELD_TO_BURST (length ),
185
+ flags & TRB_CYCLE ? 'C' : 'c' ,
186
+ flags & TRB_ISP ? 'I' : 'i' ,
187
+ flags & TRB_CHAIN ? 'C' : 'c' ,
188
+ flags & TRB_CHAIN ? 'H' : 'h' ,
189
+ flags & TRB_IOC ? 'I' : 'i' );
190
190
break ;
191
191
default :
192
- ret = snprintf (str , size , "type '%s' -> raw %08x %08x %08x" ,
193
- cdns2_trb_type_string (type ),
194
- buffer , length , flags );
192
+ ret = scnprintf (str , size , "type '%s' -> raw %08x %08x %08x" ,
193
+ cdns2_trb_type_string (type ),
194
+ buffer , length , flags );
195
195
}
196
196
197
- if (ret >= size )
198
- pr_info ("CDNS2: buffer overflowed .\n" );
197
+ if (ret == size - 1 )
198
+ pr_info ("CDNS2: buffer may be truncated .\n" );
199
199
200
200
return str ;
201
201
}
0 commit comments