In the unlikely case that pci_find_bus() should return NULL viacam_serial_is_enabled() is going to dereference a NULL pointer and blow up. Better safe than sorry, so be defensive and check the pointer.
Unified · Split
| @@ -1332,6 +1332,8 @@ static __devinit bool viacam_serial_is_enabled(void) · 1331 unmodified lines | ||
| 1332 | 1332 | struct pci_bus *pbus = pci_find_bus(0, 0); |
| 1333 | 1333 | u8 cbyte; |
| 1334 | 1334 | |
| 1335 | + if (!pbus) | |
| 1336 | + return false; | |
| 1335 | 1337 | pci_bus_read_config_byte(pbus, VIACAM_SERIAL_DEVFN, |
| 1336 | 1338 | VIACAM_SERIAL_CREG, &cbyte); |
| 1337 | 1339 | if ((cbyte & VIACAM_SERIAL_BIT) == 0) |