@@ -156,9 +156,13 @@ static bool driver_filter(struct device *dev)
156
156
return true;
157
157
158
158
/* driver filter on and initialized */
159
- if (current_driver && dev -> driver == current_driver )
159
+ if (current_driver && dev && dev -> driver == current_driver )
160
160
return true;
161
161
162
+ /* driver filter on, but we can't filter on a NULL device... */
163
+ if (!dev )
164
+ return false;
165
+
162
166
if (current_driver || !current_driver_name [0 ])
163
167
return false;
164
168
@@ -183,17 +187,17 @@ static bool driver_filter(struct device *dev)
183
187
return ret ;
184
188
}
185
189
186
- #define err_printk (dev , entry , format , arg ...) do { \
187
- error_count += 1; \
188
- if (driver_filter(dev) && \
189
- (show_all_errors || show_num_errors > 0)) { \
190
- WARN(1, "%s %s: " format, \
191
- dev_driver_string(dev), \
192
- dev_name(dev) , ## arg); \
193
- dump_entry_trace(entry); \
194
- } \
195
- if (!show_all_errors && show_num_errors > 0) \
196
- show_num_errors -= 1; \
190
+ #define err_printk (dev , entry , format , arg ...) do { \
191
+ error_count += 1; \
192
+ if (driver_filter(dev) && \
193
+ (show_all_errors || show_num_errors > 0)) { \
194
+ WARN(1, "%s %s: " format, \
195
+ dev ? dev_driver_string(dev) : "NULL", \
196
+ dev ? dev_name(dev) : "NULL" , ## arg); \
197
+ dump_entry_trace(entry); \
198
+ } \
199
+ if (!show_all_errors && show_num_errors > 0) \
200
+ show_num_errors -= 1; \
197
201
} while (0);
198
202
199
203
/*
0 commit comments