mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-01 14:11:15 +02:00
internal.c: Pass programmer_cfg
to try_mtd()
Programmer params are now passed via the `programmer_cfg` struct, but the internal programmer did not pass them to the `try_mtd()` function which was still using `NULL`. This problem resulted in a segmentation fault when trying to use the internal programmer. TEST=Make sure internal programmer does not segfault on Haswell ULT. Change-Id: I9e74bd68a1f9509a201dc518dbff96c27d68a3c3 Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/67752 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Thomas Heijligen <src@posteo.de> Reviewed-by: Felix Singer <felixsinger@posteo.net> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
This commit is contained in:
@ -375,12 +375,15 @@ void exit_conf_mode_ite(uint16_t port);
|
||||
void probe_superio_ite(void);
|
||||
int init_superio_ite(const struct programmer_cfg *cfg);
|
||||
|
||||
#if CONFIG_LINUX_MTD == 1
|
||||
/* trivial wrapper to avoid cluttering internal_init() with #if */
|
||||
static inline int try_mtd(void) { return programmer_linux_mtd.init(NULL); };
|
||||
static inline int try_mtd(const struct programmer_cfg *cfg)
|
||||
{
|
||||
#if CONFIG_LINUX_MTD == 1
|
||||
return programmer_linux_mtd.init(cfg);
|
||||
#else
|
||||
static inline int try_mtd(void) { return 1; };
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* mcp6x_spi.c */
|
||||
int mcp6x_spi_init(int want_spi);
|
||||
|
@ -215,7 +215,7 @@ static int internal_init(const struct programmer_cfg *cfg)
|
||||
*/
|
||||
internal_buses_supported = BUS_NONSPI;
|
||||
|
||||
if (try_mtd() == 0) {
|
||||
if (try_mtd(cfg) == 0) {
|
||||
ret = 0;
|
||||
goto internal_init_exit;
|
||||
}
|
||||
|
Reference in New Issue
Block a user